《Java面向对象程序设计(第4版)》课件chapter01面向对象程序设计 .ppt

上传人(卖家):momomo 文档编号:5787063 上传时间:2023-05-09 格式:PPT 页数:23 大小:321.50KB
下载 相关 举报
《Java面向对象程序设计(第4版)》课件chapter01面向对象程序设计 .ppt_第1页
第1页 / 共23页
《Java面向对象程序设计(第4版)》课件chapter01面向对象程序设计 .ppt_第2页
第2页 / 共23页
《Java面向对象程序设计(第4版)》课件chapter01面向对象程序设计 .ppt_第3页
第3页 / 共23页
《Java面向对象程序设计(第4版)》课件chapter01面向对象程序设计 .ppt_第4页
第4页 / 共23页
《Java面向对象程序设计(第4版)》课件chapter01面向对象程序设计 .ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、教学目标教学目标n比较面向对象与面向过程的程序设计n类与对象n封装与信息隐藏n继承n多态性n面向对象的建模和UML 1.11.1比较面向对象与面向过程程序设计比较面向对象与面向过程程序设计n面向过程程序设计n程序由多个模块模块构成 n程序组成单位:过程或函数n结构化程序设计:n自顶向下、逐步求精的功能分解法,n一个要解决的问题被分解成若干个子问题,每个子问题又被划分成若干个子子问题。这种自顶向下的功能分解一直持续下去,直到子问题足够简单,可以在相应的子过程中解决。n存在问题:把数据和处理数据的过程分离n可复用性差、开发和维护都很困难。面向过程程序设计面向过程程序设计int max(int nu

2、m1,int num2)if(num1num2)return num1;else return num2;图图1-11-1:自顶向下的功能分解与程序结构:自顶向下的功能分解与程序结构面向对象程序设计面向对象程序设计n面向对象其实是现实世界模型的自然延伸。n现实世界是由一个一个对象组成;n对象之间通过消息(请求和服务)相互协作,完成系统的功能.1.2 1.2 类与对象类与对象n面向对象程序设计面向对象程序设计:n将客观事物(或实体)看作具有属性和行为(或称服务)的对象(object),通过抽象抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),而形成类类(class)的概念。n程序的执行

3、,表现为一组对象之间的交互通信。对象之间通过公共接口进行通信,从而完成系统功能。n类是相同对象的集合的描述类是相同对象的集合的描述。例如,类Human就是现实世界中人(对象)的集合,我、你、他都是Human的对象。分析类Human的所有对象人,得到对象的共同的数据属性和行为,如下所示:数据属性:编号、姓名、年龄,行为:吃饭、走路、跳舞,抽象是对具体对象进行概括,抽象出这一类对象的公共性质并加以描述的过程。n先注意问题的本质及描述,先注意问题的本质及描述,其次是实现过程或细节。其次是实现过程或细节。1.2 1.2 类与对象类与对象(续续)定义定义HumanHuman类类:class Human

4、int no;String name;int age;void eat()Human被称作类名。no,name,age被称作域域(fields)或变量或变量,eat()被称作方法方法(methods),它们都是类的成员。1.2 1.2 类与对象类与对象(续续)n在面向对象的编程语言中,n类是一个数据类型n对象是类的实例对象是类的实例(instance)。n引用变量:具有类类型的变量被称作对象引用对象引用(object reference)。例如,Human p1=new Human(1,“张三”,20,);p1被称作对象引用变量,new Human(1,”张三“,20,)被称作Human的对象

5、。对象对象n对象对象:是用来描述是用来描述现实世界中实际存在的事物现实世界中实际存在的事物的实的实体体,它是用来构成系统的一个单位。n对象由一组属性和一组行为对象由一组属性和一组行为(操作或服务)构成构成。n对象具有固定的对外接口对外接口.n一组属性和操作的集合.n对象之间通过公共接口进行通信.n对象的状态对象的状态:n对象的属性值对象的属性值表示了它所处于的状态;n对象的操作对象的操作是用来改变对象状态。1.3 1.3 封装与信息隐藏封装与信息隐藏n封装封装(Encapsulation)是面向对象方法的重要原则。n就是把对象的属性和操作(或服务)结合为一个独立的整体(系统单位),并尽可能隐藏

6、对象的内部实现细节。n封装有两个含义:n其一,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位类。n其二,“信息隐蔽”,尽可能隐蔽对象的内部细节,对外界形成一个边界,只保留有限的对外接口使之与外部发生联系。1.3 1.3 封装与信息隐藏封装与信息隐藏(续续)nJavaJava语言中,定义类时通过大括号语言中,定义类时通过大括号 封装了类封装了类的成员:的成员:n域域(fields)(fields)和方法和方法(methods)(methods),n使用private和public等关键字来控制对类的成员的访问,其中private修饰的成员是隐藏的,而public修饰的成员则定义

7、了类对外的公共接口。n类作为一个抽象的数据类型类作为一个抽象的数据类型n允许用户从底层实现细节中抽象出来,提供给用户的是在公共接口上的上层操作。这是抽象性抽象性的含义。1.4 继承继承InheritanceInheritancen继承继承:在已有类(父类或超类)的基础上派在已有类(父类或超类)的基础上派生出新的类(子类),新的类能够吸收已生出新的类(子类),新的类能够吸收已有类的属性和行为,并扩展新的能力有类的属性和行为,并扩展新的能力。n继承机制中,往往从一组类中抽象出公共属性放在父类。n继承支持着软件代码的复用,是提高软件开发效率的重要因素之一。继承的例子继承的例子 例如,给定类Car、M

8、otocycle和Truck,我们把它们的公共属性放在一个称为Vehicle的公共父类中。VehicalCarMotocycleTruck继承的例子继承的例子苹果苹果梨梨西瓜西瓜水果水果继承的例子继承的例子CircleCircleRectangleRectangleShape1.4 继承继承(续续)Java中继承的一个例子:给定一个Window类,通过继承扩展它而得到一个子类MenuWin。class Win /Win的成员定义class MenuWin extends Win /MenuWin新增加成员的定义1.4 继承继承(续续)n继承分为继承分为:n单继承单继承是指一个子类最多只能有一个

9、父类。n多继承多继承是一个子类可有二个以上的父类。n由于多继承会带来二义性,在实际应用中应尽量使用单继承。Java语言中的类只支持单继承,而接口支持多继承。如何设计继承并完成继承层次是面向对象设计和编程的核心问题。继承是多态性的前提条件。objectWinDialogWin单继承,in javaClass 1Class 4Class 2Class 3多继承多继承,in C+单继承与多继承例子单继承与多继承例子1.5 多态性多态性n多态性多态性(PolymorphismPolymorphism):n指在超类中定义的属性或行为,被子类继承之后,可以具有不同的数据类型或表现出不同的行为。n这使得同一

10、个属性或行为在超类及其各个子类中具有不同的语义。本节小结本节小结n面向对象方法的显著特性n封装性、抽象性、继承性和多态性n将面向对象设计方法应用于程序的开发工具和开发过程中,不仅可以加快开发的速度,还可极大地增强程序的可维护性和可扩展性,提高代码重用率。1.6 面向对象的建模和面向对象的建模和UMLn统一建模语言(Unified Modeling Language,UML)是一种流行的建模语言。nUML是一种图形化语言,允许系统构造人员(即软件设计师、系统工程师、程序员等)用一种通用表示法描述系统的需求以及面向对象的分析和设计结果。1.6 面向对象的建模和面向对象的建模和UML(续续)n作为一

11、个建模语言,UML由一个用于表达模型的词汇表和一个定义怎样组合词汇的语法规则构成,即:UML=UML词汇表+UML建模的语法规则 UML词汇表=UML 事物+关系+模型图。nUML UML 事物(事物(ThingThing):就是被模拟的实体或对象。事物可能是包、类、接口等等。n事物之间的语义上的联系事物之间的语义上的联系:用关系表示,UML中共有4种关系,它们是:依赖关系、关联关系、泛化关系和实现关系。n从软件的体系结构出发,UMLUML把软件模型分成了四个视图:把软件模型分成了四个视图:用例视图、逻辑视图、实现视图和分布视图。用例视图、逻辑视图、实现视图和分布视图。在本书的有关章节中,案例分析和设计的结果用UML图形化表示,使读者对UML有一个感性化认识。小结小结n比较了面向过程程序设计与面向对象程序设计方法各自的特点。n面向对象编程和设计关键性的概念:n类是一组对象集合的描述。n对象是类的一个特例,对象通过接口交互;n引用变量的类型是某个类的变量,其值是对象的地址(或称做指向一个对象)。n封装性、抽象性、继承性和多态性必须在以后的程序设计中体现。nUML是面向对象的建模语言。作业书上本章习题中:2 3 4 5

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《Java面向对象程序设计(第4版)》课件chapter01面向对象程序设计 .ppt)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|