第2章-面向对象程序设计.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 面向对象程序设计 主要内容 从面向过程到面向对象 面向对象技术的基本概念 面向对象技术的基本特征 面向对象的软件开发 2.1 从面向过程到面向对象 设计实例对比 例 2.1 设计完成复数加减运算的C语言和C++语言程序。见P31 2.1 从面向过程到面向对象 设计实例对比 两种程序的不同 C程序中的结构体与C++程序中的类。 C程序中的函数与C++程序中的成员函数。 C++程序中的构造函数 变量的定义 C++中的访问权限 2.1 从面向过程到面向对象 面向过程程序设计 概述 主要围绕要求解问题的过程进行程序设计,因此称为面向过程程序设计方法。 用函数(或过程)来描述对数据结构进行的操作,这种方法是将函数与其所操作的数据相互分离。 2.1 从面向过程到面向对象 面向过程程序设计 概述 特定的函数往往要对特定的数据结构进行操作,如果数据结构有所改变,则必须改写相应的函数。 这种实质上的依赖与形式上的分离使得用面向过程设计方法编写大型程序不但难以编写,而且难以调试和修改。 2.1 从面向过程到面向对象 面向过程程序设计 面向过程程序设计方法特点 解决一个实际问题时,首先将问题分解成若干个功能模块,然后根据模块功能来设计一系列用于存储数据的数据结构,最后编写一些过程(或函数)对这些数据进行操作。 程序由过程定义和过程调用组成,即: 程序 = 过程 + 调用。 2.1 从面向过程到面向对象 面向过程程序设计 面向过程程序设计方法的缺点 一旦数据结构需要变更的时候,必须修改与之有关的所有模块,因此所开发的程序可重用性差,系统功能扩展难,维护代价高。 2.1 从面向过程到面向对象 面向对象程序设计 概述 面向对象程序设计方法以类设计为核心,实现了模块内信息的封装隐藏,从而方便了大型复杂软件系统的程序调试和维护。 面向对象程序设计以人类习惯的解决问题的方法来进行软件开发,从而使软件开发过程和人类求解问题过程一致。 2.1 从面向过程到面向对象 面向对象程序设计 面向对象程序的三个特点 程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。 程序中的一切操作都是通过向对象发送消息来实现的,对象接收到消息后,启动有关方法完成相应的操作。 程序 = 对象 + 消息 2.1 从面向过程到面向对象 面向对象程序设计 面向对象程序设计方法的6个优点 可控制程序的复杂性 可增强程序的模块性 可提高程序的重用性 可改善程序的可维护性 能对现实世界的分类系统进行自然的描述 能很好地适应新的硬件环境 2.2 面向对象技术的基本概念 对象 在现实世界中有两类对象 有形事物和抽象概念。如:一本书,一座楼、学校校规等。 事件。如:一场足球比赛,一次就医过程等。 对象的特征 名字:用来唯一标识该对象 属性或状态:用来描述对象的特征 行为或操作:用来实现对象的功能 2.2 面向对象技术的基本概念 对象 在面向对象方法中,对象是系统中用来描述客观事物的一个实体,是构成系统的一个基本单元。对象是既包括属性(状态)数据,又包括作用于属性数据的一组操作(行为、方法、服务)的封装体。 一个对象由属性和服务组成。在C++语言中,属性称作成员变量(或数据成员),服务称作成员函数。 2.2 面向对象技术的基本概念 类 在面向对象方法中,类是对具有相同属性和相同服务的一组相似对象的抽象。 三个特性 抽象性:类是对具有相同属性和服务的一个或多个对象的抽象描述。 模块性:类是相同属性和服务的封装体。是创建对象的模板。 继承性:子类可以在继承父类所有属性和服务的基础上增加自己特有的属性和服务,或在某些操作中与父类有不同的操作。 2.2 面向对象技术的基本概念 消息 在面向对象方法中, 一个对象向另一个对象发出的服务请求被称为“消息”。对象之间通过消息传递进行交互。 消息的组成: 接收消息的对象 消息名 零个或若干个参数 2.2 面向对象技术的基本概念 消息 例如:一个圆对象MyCircle,属性有圆心位置、半径,成员函数Draw把自身图形绘制在显示器上。向圆对象发送消息:画一个红色圆。 用C++语言实现为: MyCircle.Draw(Red) 2.2 面向对象技术的基本概念 消息 消息传递机制与函数调用机制有三个重要区别 在消息传递机制中,每一个消息被发送给指定的接收者(代理)。在命令式编程范型中,函数调用机制没有指定的接收者。 消息的解释(用来完成服务请求的方法或操作/代码集)依赖接收器,并且因接收者的不同而异。 在面向对象的范型中,通常在运行时才能知道给定消息的特定接收者。这样,在消息(服务请求/函数调用)和用来完成对行为的请求的方法之间存在动态绑定(或滞后联编);而命令式编程范型中的函数调用与代码片

文档评论(0)

iris + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档