面向对象的程序设计第一章.pptx
面向对象的程序设计(Java)姓名:王雯雯(基础科学信息技术系)QQ:178148221
50%:课堂表现(随堂表现、出勤率、课后作业完成情况);50%:书面考试。课程考核方式:
写在前面的话:“听而易忘,见而易记,做而易懂”能力的三个层次:知识:学习前人的知识解决问题的方法:灵活运用所学到的知识解决问题的思路:创造解决问题的方法学习方法:课上积极参与,课下动手实践善于发现问题,积极分析问题,勇于解决问题自学能力:读、写、查、背乐观的努力,眼光要高远,脚步要踏实
理解、掌握面向对象的编程思想01掌握Java语言基础知识02掌握Java中的类03掌握异常处理机制04掌握基本的工具类和算法05掌握基本的IO操作以及数据库编程基础06理解多线程机制07运用AWT、Swing编写图形用户界面程序08课程内容以及目标
第一章面向对象的程序设计
0201030405掌握对象和类的概念理解面向对象的设计思想理解抽象和封装理解对象与类之间的关系理解类之间的关系本章目标
程序:为解决一个信息处理任务而预先编制的工作执行方案,是由一串CPU能够执行的基本指令组成的序列,每一条指令规定了计算机应进行什么操作(如加、减、乘、判断等)及操作需要的有关数据。算法:求解问题类的、机械的、统一的方法,它由有限多个步骤组成,对于问题类中的每个给定的具体问题,机械地执行这些步骤就可以得到问题的解答。程序、算法、实体、程序设计
01算法:给定两个正整数p和q,如何求出p和q的最大公约数g?02如果p小于q,则交换p和q;03令r是p除以q的余数;04如果r等于0,则令g=q并终止程序;05否则令p=q,q=r,并转向步骤2.06算法用于解决特定的“问题”。07算法有若干可机械执行的操作组成;08算法可有多个输入和输出;09对于任何输入,算法都会终止;10算法的主要操作对象是函数。程序、算法、实体、程序设计
程序、算法、实体、程序设计实体向一个银行账户中存款可表达为:从一个银行账户中取款则可描述为:实体:表示数据库中描述的现实世界中的对象或概念。它是客观世界中存在的且可互相区分的事物实体可以是人也可以是物体实物,也可以是抽象概念。1234
程序、算法、实体、程序设计描述一个实体的概念时,至少应该划分为三个方面的特性:属性、行为、约束。从系统状态的角度看,实体的属性表达了实体的状态,这些状态可由实体的行为来改变,并且实体状态在任何时刻都满足实体的约束。
程序、算法、实体三者的关系:程序是算法和实体在计算机系统中的体现。程序设计是一种编写计算机程序的活动,为解决某一特定问题而构造一种专用工具的智力活动。要完成程序设计工作必须具备4方面的知识:应用领域知识、程序设计方法、程序设计语言、程序设计环境与工具。程序设计方法是指在应用领域知识的基础上,遵循明确的步骤、运用适当的思维方式构造出实体,设计相应的数据结构或算法。其大致上可以分为两类:自顶向下和自底向上的构造方法。其实大多数的程序设计方法是这两种方式的结合。123程序、算法、实体、程序设计
早期的程序设计:FORTRAN、BASIC、COBOL等,无特定程序设计方法时期,个人炫技,不利于团队合作。结构化程序设计:自顶向下、逐步求精,采用单入口/单输出的控制结构。Pascal、C、Ado等程序设计语言,一个以结构化程序设计方法为指导的程序最终是由若干过程组成的,每一个过程完成一个明确的功能,而这些过程只是面向操作或属性中的一方具有局限性。面向对象的程序设计:以类作为构造程序的基本单位,具有封装、数据抽象、继承、多态化等特点。C++、Simula、Java、C#等程序设计语言,程序围绕数据进行设计,将数据和操作作为同等重要的实体。010302“对象”=属性+对属性进行的操作程序设计方法的历史演变
面向对象基本思想:从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式。面向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方法和原则,如抽象、分类、继承、聚合、多态等。面向对象
面向过程编程中数据与程序分离,数据作为静态的资料,其状态不可变,所有的变化有操作来承担,也就是说要改变数据就要调用函数,这就使得函数调用被大量的使用,这无疑是软件性能的硬伤;面向过程也就是传统范型的问题:无法应付规模逐渐增大的软件产品;无法满足用户对软件交付后维护的期望。面向对象的软件开发将世界上的事物均看成对象,而对象的两个特征为:行为(操作)与状态(属性),每个对象可以通过自身的行为来改变自己的状态,其讲求的是对象间的协作与交互。因为对象的操作封闭在对象之内,所以外部要与对象进行交互的话只能通过向对象发送“消息”,这就使得对象对外是透明的。面向对象与面向过程的区别以及优势