- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一章-计算机与程序设计2009
3. 面向对象方法概述 1) 发展历史与现状: 雏形阶段 完善阶段 繁荣阶段 PARC先后发布了Smalltalk-72,76,78等版本,直至1981年推出该语言最完善的版本Smalltalk-80。 Smalltalk-80的问世被今认为是面向对象语言发展史上最重要的里程碑。迄今绝大部分面向对象的基本概念及其支持机制在Smalltalk-80中都已具备。它是第一个完善的、能够实际应用的面向对象语言。 3. 面向对象方法概述 1) 发展历史与现状: 雏形阶段 完善阶段 繁荣阶段 自80年代中期到90年代,是面向对象语言走向繁荣的阶段。其主要表现是大批比较实用的OOPL的涌现。 OO编程语言分为纯OO语言和混合型OO语言 混合型语言是在传统的过程式语言基础上增加OO语言成分,在实用性方面具有更大的优势。 2) Coad Yourdon给OO的定义: 面向对象的方法学可以用下列方程来概括: OO=Objects + Classes + Inheritance + Communication With messages [分析]: 基于对象:仅使用对象和消息 基于类:仅使用对象、类和消息 面向对象: 只有同时使用对象、类、继承和消息的方法/程序设计语言,才是真正面向对象的方法/程序设计语言。 所开发的程序才是面向对象的程序。 (1)认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。 (2)把所有对象都划分成各种对象类,每个对象类都定义了一组数据和一组方法。 类中定义的数据用于表示对象的静态属性,是对象的状态信息。 类中定义的方法,是允许施加于该类对象上的操作,是该类所有对象共享的,并不需要为每个对象都复制操作的代码。该类中所有对象中的方法共享此代码(但是各个对象中的方法使用的数据是不同的)。 面向对象方法具有下述四个要点: (3)按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。在这种层次结构中,通常下层的派生类具有和上层的基类相同的特性(包括数据和方法),这种现象称为继承(Inheritance)。但是,如果在派生类中对某些特性又做了重新描述,则在派生类中的这些特性将以新描述为准,也就是说,低层的特性将屏蔽高层的同名特性。 (4)对象彼此之间仅能通过传递消息互相联系。 对象与传统的数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体,必须发消息请求它执行它的某个操作,处理它的私有数据,而不能从外界直接对它的私有数据进行操作。 3) 主要特点: 从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并作为系统的基本构成单位。(对象) 用对象的属性表示事物的静态特征;用对象的服务(操作)表示事物的动态特征。(属性与服务) 对象的属性与服务结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节。(封装) 对事物进行分类。把具有相同属性和相同服务的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。(分类) 通过在不同程度上运用抽象的原则可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与服务,从而简化系统的构造过程及其文档。(继承) 复杂的对象可以用简单的对象作为其构成部分。(聚合) 对象之间通过消息进行通讯,以实现对象之间的动态联系。(消息) 通过关联表达对象之间的静态关系。(关联) [小结]: 用类和对象作为系统的基本构成单位。对象对应问题域中的事物,其属性与服务刻画了事物的静态特征和动态特征,它们之间的继承关系、聚合关系、消息和关联如实地表达了问题域中事物之间实际存在的各种关系。 因此,无论系统的构成成分,还是通过这些成分之间的关系而体现的系统结构,都可直接地映射问题域。 3. 面向对象方法的主要优点 与人类习惯的思维方法比较一致; 稳定性好; 可重用性好; 可维护性好。 1.与人类习惯的思维方法比较一致 传统的程序设计技术是面向过程的设计方法,这种方法以算法为核心,把数据和过程作为相互独立的部分,数据代表问题空间中的实体,程序代码则用于处理这些数据 。忽略了数据和操作之间的内在联系,用这种方法所设计出来的软件系统其解空间与问题空间并不一致(因为是彼此独立的),令人感到难于理解。 面向对象的软件技术以对象(Object)为核心,用这种技术开发出的软件系统由对象组成。对象是对现实世界实体的正确
您可能关注的文档
- 还可以利用这些图形变换的组合进行图案设计.ppt
- page 1 xleforcon 论立发表 第29卷第5期大连交通大学学报vol29 .pdf
- 液力变矩器泵轮内流场的数值分析 - 吉林大学学报.pdf
- “十二五”省高等学校重点专业中期检查报告(高职高专) - 精品课程.pdf
- 平衡损失函数下bayes线性无偏最小方差估计的优良性 - 山东大学学报 .pdf
- 板式称重传感器偏载的优化补偿及其应用 - 中国衡器协会.pdf
- 过渡层对掺a1203的ysz电解质支撑sofc的影响木.pdf
- si 含量对fe- 20ni- 3 5c 自润滑材料组织与性能的影响.pdf
- 09计算机科学与技术(师范类).doc
- siドライエッチングプロセス向け hbrプラズマ诊断技术 - 东芝.pdf
最近下载
- 浙江省金砖联盟2024-2025学年高一上学期期中联考语文试卷(含答案).pdf VIP
- 创投行业的介绍.pptx VIP
- 视频处理软件:Adobe Premiere Pro二次开发_(10).转场效果脚本开发.docx VIP
- 上海华虹(集团)有限公司909工程升级改造——华虹集团建.PDF VIP
- 视频处理软件:Adobe Premiere Pro二次开发_(9).常用视频效果脚本开发.docx VIP
- 礼记:大同.ppt VIP
- 视频处理软件:Adobe Premiere Pro二次开发_(8).媒体文件导入导出脚本.docx VIP
- 视频处理软件:Adobe Premiere Pro二次开发_(7).项目和序列管理脚本.docx VIP
- 2024-2025学年七年级语文下学期期末真题分类汇编文言文阅读(湖南专用).docx VIP
- 视频处理软件:Adobe Premiere Pro二次开发_(6).视频处理自动化流程.docx VIP
原创力文档


文档评论(0)