- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C是在C的基础上发展而来-火龙果软件
第九章 面向对象程序方法 例:一个经理第二天要到某地参加某个会议,他会把这同一个消息告诉给不同的人:他的夫人、秘书、下属,这些人听到这个消息后,会有不同的反应:夫人为他准备行装,秘书为他安排机票和住宿,下属为他准备相应的材料。 这就是一种多态性:发给不同对象的同一条消息会引起不同的结果。 第九章 面向对象程序方法 2、程序设计语言中的多态性 (1)在程序设计语言中多态性表现为以统一的方式对待具有相同的接口的不同类的实例的能力。 (2)C++语言支持两种多态性 ☆编译时的多态性(通过函数重载实现) ☆运行时的多态性(通过虚函数实现) 第九章 面向对象程序方法 §9、3 面向对象的意义 一、模块化——软件质量保证 1、软件的外部质量 (1)正确性 软件产品准确执行软件需求规格说明中所规定的任务的能力。 第九章 面向对象程序方法 (2)可靠性 软件系统在异常情况下也能保证系统的完整性的能力。 (3)可维护性 软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应软件更新所需工作量的大小。 第九章 面向对象程序方法 (4)可复用性 可复用性是指软件产品可被全部或部分地再用到新的应用中去的能力。 (5)兼容性 兼容性是指软件产品与其他软件组合成一个整体的难易程度。 第九章 面向对象程序方法 2、软件的内部质量 软件的外部质量最终是由软件的内部质量来支持。要得到外部质量好的软件,软件的系统结构应该是模块化的。 第九章 面向对象程序方法 二、复用——软件快速开发的必由之路 三、走面向对象式道路 1、结构化程序设计 (1)基本思想 自顶向下、逐步求精 第九章 面向对象程序方法 (2)结构化程序设计的缺陷 ☆结构化程序设计以功能分解作为基本思路,而功能是系统中最易变的部分。 ☆结构化程序设计认为每个系统的主功能都可以在最高层次上抽象出来进行恰当 描述,而实际上大多数系统都无法简单地用一个顶层功能来描述,也没法简单地用一个主程序来描述系统的操作流程。 第九章 面向对象程序方法 ☆结构化程序设计是一种面向过程的设计方法,它将数据和过程分开,降低了可复用性和一致性。 ☆自顶向下的程序设计方法与复用思想本质上是背道而驰的。 第九章 面向对象程序方法 2、面向对象程序设计 (1)本质 把数据和处理数据的过程看成一个整体——对象。 (2)优点 ☆面向对象方法比以前的各种方法更直接地表示现实世界,从而使从需求分析到系统设计的转换更加自然。 第九章 面向对象程序方法 ☆面向对象方法,尤其是它的继承性,是代码重用的有效途径。 ☆类封装了数据和操作,使得对象相对独立,对象的内部实现也与对象的接口分开,对象之间的关系只能通过消息传递来体现,因而一个对象的修改对其他对象的影响很少。 第九章 面向对象程序方法 ☆多态性增强了操作的透明性、可理解性和可维护性,因为用户不必再为相同的操作作用于不同的对象而去费心区分每类对象。 第九章 面向对象程序方法 §9、4 面向对象的分析与设计 一、面向对象开发方法的生命周期 1、分析 分析阶段侧重于对问题域中存在的事物的分析,从中抽象出类来,并根据问题域和系统职责确定类的结构、类的接口和类之间的关系。 第九章 面向对象程序方法 2、设计 设计阶段在分析阶段的基础上,结合具体的开发环境,做详细的设计,除了对问题域中的类进一步细化外,还需要考虑系统的人机交互、数据管理以及该系统和其他系统的交互等更多与实现相关的内容。 第九章 面向对象程序方法 3、实现 实现是根据设计结果,用具体的语言在具体的开发环境中进行编码。 第九章 面向对象程序方法 2、对象的属性和操作组成一个完整的对象, 对象具有一定的对外接口,外界对象可以通过该接口来访问对象。 3、以对象为基础,对对象分类,将具有共同特性的对象进行抽象,形成对这些对象的抽象描述——类,每个对象就是该类的一个实例。 第九章 面向对象程序方法 4、对形成的对象类进一步抽象,抽出这些类的共同特征,形成基本的类和派生的类,派生的类又可以具有更多的派生类,这样就形成一个类簇。基本类和派生类的关系称为继承。 第九章 面向对象程序方法 5、一个系统就是由各个对象组成,对象和 对象之间存在静态关系和动态关系。 静态关系体现了对象之间固有的关系; 动态关系是对象之间通过发送消息进行 通信,相互协作,完成系统功能。 第九章 面向对象程序方法 三、面向对象方法 面向对象方法是利用抽象、封装等机制,借助于对象、类、继承、消息传递等概念进行软件
文档评论(0)