收藏 分享(赏)

第3章 面向对象概述0.ppt

上传人:dzzj200808 文档编号:5750194 上传时间:2019-03-15 格式:PPT 页数:24 大小:245.50KB
下载 相关 举报
第3章 面向对象概述0.ppt_第1页
第1页 / 共24页
第3章 面向对象概述0.ppt_第2页
第2页 / 共24页
第3章 面向对象概述0.ppt_第3页
第3页 / 共24页
第3章 面向对象概述0.ppt_第4页
第4页 / 共24页
第3章 面向对象概述0.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、面向对象程序设计概述,2019/2/7,面向对象程序设计概述,2,面向过程就是 分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。通过对象的功能解决问题。,2019/2/7,面向对象程序设计概述,3,例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。 把上面每个步骤用分别的函数来实现,问

2、题就解决了。,2019/2/7,面向对象程序设计概述,4,而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为:1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。,2019/2/7,面向对象程序设计概述,5,可以明显地看出,面向对象是以事务(对象)来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了众多步骤中,很可

3、能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。,2019/2/7,面向对象程序设计概述,6,功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。到这里就可以很明显的看出面向对象和面向过程的区别所在了。,

4、2019/2/7,面向对象程序设计概述,7,什么是面向对象程序设计,C语言程序设计 显示半径为15的圆面积 站在计算机的角度进行的程序设计 面向过程的程序设计 程序=过程+调用 典型语言C、PASCAL 面向对象设计方法 站在对象的角度进行的程序设计 人类习惯的解决问题的方法 程序=对象+消息,程序中的一切操作都是通过向对象发送消息来实现,2019/2/7,面向对象程序设计概述,8,概述-主要内容,面向对象技术的基本概念 面向对象技术的基本特征 面向对象技术的主要优点 几种典型的面向对象程序设计语言,2019/2/7,面向对象程序设计概述,9,对象(一),面向对象技术认为客观世界是由各种各样的

5、对象组成,每种对象都有各自的内部状态和运动规律,不同对象间的相互作用和联系就构成了各种不同的系统,构成了客观世界。 对象是组成一个系统的基本逻辑单元,是一个有组织形式的含有信息的实体,2019/2/7,面向对象程序设计概述,10,对象(二),现实世界中的对象 任何事物都是对象(具体的、抽象的;简单的、复杂的) 组成:(静态的)属性 + (动态的)行为 特点: 一个对象一个名字 用属性描述特征 有一组行为 自身所承受的行为;施加于其他对象的行为,2019/2/7,面向对象程序设计概述,11,对象(三),面向对象程序中的对象 是对现实世界对象的抽象 组成:数据 + 操作(方法) 例:半径15的圆形

6、对象,在面向对象程序中的表现: 描述属性的数据 半径 :15 操作 显示面积、显示周长 对象是数据和操作封装在一起构成的统一体,2019/2/7,面向对象程序设计概述,12,类(一),类(class)是对一组具有相同属性和行为的对象的抽象,是描述对象的“基本原型”,它定义一种对象所能拥有的数据和能完成的操作(成员变量,方法)。 例:圆形是一个类 半径为15的圆,是圆形的一个实例(实际例子),一个具体的对象 类是一个抽象的概念,在现实世界中并不真正存在,2019/2/7,面向对象程序设计概述,13,类(二),在面向对象程序中,是具有相同数据结构和相同操作的一类对象的描述 例:“圆形”类 属性:

7、半径 操作:显示面积、显示周长 类的使用 声明Circle类 定义Circle类的若干对象c1,c2(分别为半径为15,半径为20的圆) c1,c2均称为类Circle的实例,2019/2/7,面向对象程序设计概述,14,消息和方法,消息是对象之间发出的行为请求 对象之间的交互机制,叫消息传递。 对象中的联系只能通过消息传递来进行,接收对象只有在接收到消息时,才能被激活。 多个消息构成一个事件。 消息的三个性质: 同一对象可以接收多个消息,作出不同响应; 相同消息可以传递给不同对象,响应可以不同 对消息的响应不是必需的,可以不相应。,2019/2/7,面向对象程序设计概述,15,消息和方法,方

8、法就是对象所能执行的操作 程序设计中,要求某一对象做某一操作时,就向该对象发送一个相应的消息。 对象根据接收到的消息,调用相应的方法,反之,有了方法,对象才能响应相应的消息。 java中通过成员函数实现方法。,2019/2/7,面向对象程序设计概述,16,面向对象技术的基本特征,抽象 封装 继承 多态,2019/2/7,面向对象程序设计概述,17,抽象,抽象就是忽略事物中与当前目标无关的非本质特征,更充分地注意与当前目标有关的本质特征。 组成: 数据抽象:描述某类对象的共同属性 代码抽象:描述某类对象的共同行为特征 例:学生成绩管理 共同属性:String name; int number;

9、float score;(数据成员) 共同行为:input(); modify(); print()(成员函数),2019/2/7,面向对象程序设计概述,18,封装,封装就是把对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节 封装机制使对象的使用者和设计者分开,提高了代码的重用性,减轻了系统开发难度,2019/2/7,面向对象程序设计概述,19,继承,继承是一种联结类与类的层次模型。是指特殊类的对象拥有其一般类的属性和行为的特性。 例:,车型、颜色、轮胎、发动机 换档、开灯、开冷气,车次、乘客数、票价 进站、出站,开始时间、结束时间、站次、路线 停站时间,2019/2/7,面向

10、对象程序设计概述,20,继承,有继承关系的类的特性: 类间有共享特性 类间有差别 类间有层次关系 两个类A和B,若B继承A(B是从A中派生出来的): A称为基类(父类、超类) B称为继承类(子类、派生类) B既包含A的特性,也具有自己的特性。 继承使基类的数据结构和操作被派生类重用 增加了可重用性,减少了冗余。,2019/2/7,面向对象程序设计概述,21,多态,不同的对象收到相同的消息时产生多种不同的行为方式。 例:计算图形面积 Circle、 Rectangle都是图型Shape的子类 Shape c1=new Circle(15); Shape c2=new Rectangle (10,12); c1.Area(); c2.Area();,2019/2/7,面向对象程序设计概述,22,多态,子类对父类方法的覆盖 父类:汽车 挂五档 子类:公共汽车 挂五档奔驰轿车 挂五档,2019/2/7,面向对象程序设计概述,23,多态,多态性增强了软件的灵活性和重用性,为软件的开发与维护提供了极大的便利。,2019/2/7,面向对象程序设计概述,24,面向对象技术的优点,可提高程序的重用性 可控制程序的复杂性 可改善程序的可维护性 能够更好的支持大型程序设计 增强了计算机处理信息的范围 能很好的适应新的硬件环境,

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

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报