面向对象程序设计+1

面向对象程序设计+1

ID:45229206

大小:2.25 MB

页数:361页

时间:2019-11-11

面向对象程序设计+1_第1页
面向对象程序设计+1_第2页
面向对象程序设计+1_第3页
面向对象程序设计+1_第4页
面向对象程序设计+1_第5页
资源描述:

《面向对象程序设计+1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

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

3、述。例如,类Human就是现实世界中人(对象)的集合,我、你、他都是Human的对象。分析类Human的所有对象——人,得到对象的共同的数据属性和行为,如下所示:数据属性:编号、姓名、年龄,…行为:吃饭、走路、跳舞,…抽象是对具体对象进行概括,抽象出这一类对象的公共性质并加以描述的过程。先注意问题的本质及描述,其次是实现过程或细节。1.2类与对象(续)定义Human类:classHuman{intno;Stringname;intage;…voideat(){…}…}Human被称作类名。no,name,age被称作域(fields)或变

4、量,eat()被称作方法(methods),它们都是类的成员。1.2类与对象(续)在面向对象的编程语言中,类是一个数据类型对象是类的实例(instance)。引用变量:具有类类型的变量被称作对象引用(objectreference)。例如,Humanp1=newHuman(1,“张三”,20,…);p1被称作对象引用变量,newHuman(1,”张三“,20,…)被称作Human的对象。对象对象:是用来描述现实世界中实际存在的事物的实体,它是用来构成系统的一个单位。对象由一组属性和一组行为(操作或服务)构成。对象具有固定的对外接口.一组属

5、性和操作的集合.对象之间通过公共接口进行通信.对象的状态:对象的属性值表示了它所处于的状态;对象的操作是用来改变对象状态。1.3封装与信息隐藏封装(Encapsulation)是面向对象方法的重要原则。就是把对象的属性和操作(或服务)结合为一个独立的整体(系统单位),并尽可能隐藏对象的内部实现细节。封装有两个含义:其一,把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位—类。其二,“信息隐蔽”,尽可能隐蔽对象的内部细节,对外界形成一个边界,只保留有限的对外接口使之与外部发生联系。1.3封装与信息隐藏(续)Java语言中,定义

6、类时通过大括号{}封装了类的成员:域(fields)和方法(methods),使用private和public等关键字来控制对类的成员的访问,其中private修饰的成员是隐藏的,而public修饰的成员则定义了类对外的公共接口。类作为一个抽象的数据类型允许用户从底层实现细节中抽象出来,提供给用户的是在公共接口上的上层操作。这是抽象性的含义。1.4继承Inheritance继承:在已有类(父类或超类)的基础上派生出新的类(子类),新的类能够吸收已有类的属性和行为,并扩展新的能力。继承机制中,往往从一组类中抽象出公共属性放在父类。继承支持着

7、软件代码的复用,是提高软件开发效率的重要因素之一。继承的例子例如,给定类Car、Motocycle和Truck,我们把它们的公共属性放在一个称为Vehicle的公共父类中。VehicalCarMotocycleTruck继承的例子苹果梨西瓜水果继承的例子CircleRectangleShape1.4继承(续)Java中继承的一个例子:给定一个Window类,通过继承扩展它而得到一个子类MenuWin。classWin{…//Win的成员定义}classMenuWinextendsWin{…//MenuWin新增加成员的定义}1.4继承(续

8、)继承分为:单继承是指一个子类最多只能有一个父类。多继承是一个子类可有二个以上的父类。由于多继承会带来二义性,在实际应用中应尽量使用单继承。Java语言中的类只支持单继承,而接口支持多继承。如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。