第九章-面向对象程序方法课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第九章-面向对象程序方法课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九 面向 对象 程序 方法 课件
- 资源描述:
-
1、1第九章 面向对象程序方法学习要求:v 掌握面向对象程序设计语言的发展史。v 了解主要的一些程序设计范型。v 熟练掌握面向对象程序设计语言的三大特性:封装、继承和多态。v 熟练掌握面面向对象程序设计语言的基本概念29.1 概述 目前,软件的生产方式也正在发生一场类似的变革 面向对象是软件程序设计的一种新思想 面向对象的基本思想:从现实世界中客观存在的事物(对象)出发构造系统,并在系统构造中运用人类的自然思维方式 39.1.1 面向对象的由来“对象“表示现实世界中的某个具体的事物 现实世界中的事物可分为两大部分:物质和意识 物质表达的是具体的事物 意识描述的是某一个抽象的概念 例如:“自行车”和
2、“这辆白色的自行车”,后者是物质,使具体的客观存在,前者是意识,它是一个抽象的概念,是对客观存在的事物的一种概括。4问题领域 现实世界中的事物可直接映射到面向对象系统的问题领域 现实世界中的物质可对应于面向对象系统中的“对象”现实世界中的意识可对应面向对象系统中的抽象概念-类 5问题领域 物质:一辆白色的自行车意识:自行车 具体事物:一个对象-自行车的实例抽象概念:自行车类 现实世界问题领域 面向对象问题领域 现实世界与面向对象系统之间的对应关系 69.1.2 面向对象方法的发展面向对象方法:面向对象方法:是利用抽象、封装等机制,借助对象、类、继承、消息传递等概念进行软件系统构造的软件开发方法
3、。用面向对象思想构造软件系统的主要内容:(P208例子)对象 对象的属性和操作-一个完整的对象 类 继承 一个系统就是由各个对象组成的。79.1.2 面向对象方法的发展史200090年代80年代70年代60年代 面向对象方法的发展Algol语言中引入引入块结构(beginend),第一次尝试为数据提供保护和封装数据抽象类型概念的发展-面向对象的基本思想:数据结构+操作=实体Simula 67语言引入对象和消息机制。-面向对象语言的鼻祖SmallTalk 80 商品化-纯粹的OO编程语言产生了Ada语言,支持抽象数据类型的最重要的语言之一。大量的OOPL出现-面向对象方法走向实用1986年,首届
4、“面向对象编程、系统、语言和应用国际会议”Object-c,C+,Eiffel,Java-有广泛影响的面向对象程序设计语言。面向对象软件工程发展。8面向对象相关术语面向对象(OO:Object Oriented):面向对象分析(OOA:Object Oriented Analyse)面向对象设计(OOD:Object Oriented Design)面向对象程序设计(OOP:Object Oriented Programming)面向对象数据库(OODB:Object Oriented DataBase)99.2 基本概念-对象 抽象 对象是无处不在的 对象是数据数据以及可以对这些数据施加的操
5、作操作结合在一起所构成的独立实体的总称。10对象在软件系统开发的各个阶段的不同表现形式 v分析阶段:对象是一种粗略的描述v设计阶段:对象的数据和操作进一步得到细化,对象的特性得到明确的描述v编程阶段:通过定义类,并将其实例化从而得到具体的对象v运行阶段:对象成为内存中可标识的区域,存放数据和操作代码 11一个对象类的定义与对象实例化/-/例9.1 演示:对象类的定义与对象实例化/-/定义一个电话类定义一个电话类class Phone class Phone private:private:char owner10;/char owner10;/电话主人姓名电话主人姓名 char address
6、50;/char address50;/电话所在地电话所在地 char char phoneNumberphoneNumber10;/10;/电话号码电话号码12一个对象类的定义与对象实例化public:public:Phone(char Phone(char*owner,char owner,char*address,char address,char*phoneNum phoneNum);/);/构造函数构造函数 char char*getPhoneNumber getPhoneNumber();/();/取电话号码取电话号码 char char*getOwner getOwner();/
7、();/取电话主人姓名取电话主人姓名 char char*getAddress getAddress();/();/取电话所在地取电话所在地 char char*changeOwnerchangeOwner(char(char*);/);/电话过户电话过户 char char*dial(char dial(char*);/);/拨号拨号;/对象实例化对象实例化Phone myPhone(“张三张三”,”河南郑河南郑州州”,”1234567”);139.2 基本概念-消息 1.软件系统中的对象之间存在依存关系:对象通过接收消息,对外提供服务发挥能动性对象通过发送消息,请求其他对象为它服务2.消息
8、:消息是对象之间相互请求和相互协作的途径,要求某个对象执行类中所定义的某个操作的规格说明。3.消息的几个关键要素:消息的发送者、消息的接收者、消息名、参数及应答。注:消息是对象之间通信的唯一途径注:消息是对象之间通信的唯一途径14老板对下属说:“明天早上八点以前把有关饮料的市场调查报告放到我的办公桌上”。消 息的 发送者消 息的 接收者参数1参数2参数3注意在此消息名是:给我市场调查报告15消息的几个特性 同一对象可以接收不同形式的消息,产生不同的响应 相同形式的消息可以送给不同对象,所做出的响应可截然不同 消息的发送可以不考虑具体的接收者,对象可以响应消息,也可以不理会16公有消息和私有消息
9、 私有消息:由对象自己向本身发送的消息,这些消息不对外开放,外界不必了解它 公有消息:由外界直接向对象发送的消息 17在程序设计语言中的消息1.在具体的程序中,消息的表现形式为对象在其操作过程中对另一个对象的服务程序的调用,也就是函数(或过程)调用。2.例:给电话对象发送一个消息char*ifdial;ifdial=myPhone.dial(“82904456”);3.不是所有的函数调用都是消息 189.2 基本概念-类 1.类是人类抽象思维的产物。2.对一组具有相同数据和相同操作的对象的描述。3.类是对一组对象的抽象概括,而每个对象都是某一个类的一个具体的实例。对象本身不包括实现操作的代码,
展开阅读全文