1 / 31
文档名称:

第3章-面向对象思想.pptx

格式:pptx   大小:671KB   页数:31页
下载后只包含 1 个 PPTX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第3章-面向对象思想.pptx

上传人:胜利的果实 2022/5/30 文件大小:671 KB

下载得到文件列表

第3章-面向对象思想.pptx

相关文档

文档介绍

文档介绍:人民邮电出版社
3
面向对象思想
Java程序设计


n,还要管理每一个函数的调用和执行。在这个过程中,对象(如果有的话)似乎不存在。
【面向过程】
面向过程编程应用于大型的、复杂的系统开发时可能遇到的问题:
难于维护和修改程序
难于调试程序,难于跟踪其执行逻辑
容易出现意外数据修改等逻辑错误
编程细节难于组织,程序员在程序的组织和管理方面的负担重
问题与解决问题的思维方式
【面向过程】
【面向对象】
在面向对象编程中,程序员关注于数据本身,或者说对象本身。
关注与对象有哪些属性,对属性进行什么操作。
这样的问题和思考接近于人解决问题的方式。
对象各有其行为,对象之间通过消息相互通信,构成复杂的系统的运行。
问题与解决问题的思维方式
面向对象的内涵
面向对象的思想和它的原理机制可谓内涵丰富,在后续各章中依照基本语法、原理机制、应用编程的顺序展开。在此,仅就面向对象之“面向”二字的含义进行解读。
面向对象就是把对象作为整体,因为对象本来是一个整体。
基于对象的整体性,于是有对象的封装和数据隐藏。
基于对象间的关系,于是有继承和多态,形成层次体系。
基于对象的复杂性,需要对其抽象,于是有类。
把对象作为整体,于是分析问题和解决问题的方式方法都更自然简洁。软件开发和维护也变得容易了。
面向对象和面向过程思想的关系
OOP程序图示:
对象的函数可以是与具体业务逻辑有关的实用的函数;也可以是负责与其他对象通信的接口函数。
面向对象与面向过程
面向对象语言的三大特性
小结
从数据开始

C
目录
ONTENTS
面向对象语言的三大特性
面向对象的语言有三个特性:
封装性;
继承性;
多态性;
正是因为具有这些特性,面向对象语言才适用于大型系统的开发。
封装性(encapsulation)
封装是指把数据和函数绑定到一个容器或者对象中。这一概念也称为数据抽象(data abstraction),它支持数据隐藏(data hiding),就是说对象可以对程序的其他部分隐藏其数据,使数据不能被直接访问,而只可以通过接口函数访问。
封装减少了意外数据修改和逻辑错误发生的可能性。
继承性(inheritance)
继承机制是为了支持代码的可重用性(reusability)。定义新的类,可以从已有的类中继承代码,减少了程序的总代码量和写代码时间,缩短了开发周期。
例如,已经定义了三角形类Triangle,则定义直角三角形Rtriangle可以继承Triangle中的数据和方法,再添加新的数据和方法,即实现了代码的重用。
生活中继承的情况比比皆是。建筑设计部门开始一个新楼设计时可能从一个过去的设计承一些风格、结构思路。修改增补之后得到一个新设计。
继承性(inheritance)
OOPL比面向过程的语言更加支持代码的可重用性。继承是实现代码可重用方面最重要的概念和操作机制。使用继承,我们从已有的代码继承,得到新的代码。
继承减少了代码编写量,缩小了程序的规模。
多态性(polymorphism)
多态性类似自然语言的一词多义现象,比如汉字“打”,用在不同上下文中含义不同。“打酱油”是买酱油,“打苹果”是削苹果皮,“打牌”是玩牌,“打车”则是租车。
面向对象语言中的多态性也是为了用单一的接口形式,表达多种不同的动作。
Java中有方法重载(method overloading)和方法重写(method overriding)两种多态。在此对重载的用法用代码举例说明。
多态性
int max(int a, int b,