- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 面向对象方法学引论 9.1 面向对象方法学概述 9.2 面向对象的概念 9.3 面向对象建模 9.4 对象模型 9.5 动态模型 9.6 功能模型 9.7 3种模型之间的关系 传统结构化方法学的缺点 不稳定:结构化分析和设计技术本质上是功能分解,是围绕实现功能的过程来构造系统的,而用户需求的变化大部分是针对功能的,因此这种变化对基于过程的设计来说是灾难性的,这样设计出的系统结构常常是不稳定的,即用户需求的变化往往造成系统结构的较大变化。 可重用性差:把数据和操作作为分离的实体,使得一些具有潜在可重用价值的软件构建已和具体应用环境密不可分了。 9.1 面向对象方法学概述 9.1.1 面向对象方法学的要点 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。 现实世界中事物分为两大部分:物质和意识;前者表示是具体的事物,后者描述的是某个抽象的概念。 现实世界中,“一辆白色自行车”是客观存在,是物质的;而自行车是人脑中一个抽象的概念,是主观意识; 在OO系统中自行车用“自行车类”来表达,“一辆白色自行车”是一个具体的对象,是自行车类的一个实例。 什么是面向对象 面向对象的基本思想是将一个实际问题看成是一个对象或几个对象的集合。对象是由数据及可以施加在这些数据上的操作所构成的统一体。按照以下4个概念设计和实现的系统,称为是面向对象的。 面向对象(OO)=对象 (object) +类 (classification) +继承(inheritance) +通信 (communication with messages) 面向对象的软件工程方法学由三部分组成: OOA(Object-Oriented Analysis)面向对象的分析 OOD(Object-Oriented Design)面向对象的设计 OOP (Object-Oriented Program)面向对象程序设计 在开发的早期定义了一系列面向问题的对象,在开发过程中不断充实和扩充这些对象。由于在整个开发过程中都使用统一的概念“对象”,整个开发过程是无缝连接的,每次迭代都会增加或明确一些目标系统的性质,但却不是对先前工作结果的本质性改动,这样就减少了不一致性,降低了出错的可能。 面向对象方法具有下述4个要点: (1) 认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。面向对象方法用对象分解取代了传统方法的功能分解。 (2) 把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据和一组方法。 (3) 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。 (4) 对象彼此之间仅能通过传递消息互相联系。 9.1.2 面向对象方法学的优点 1. 与人类习惯的思维方法一致 2. 稳定性好 3. 可重用性好 4. 较易开发大型软件产品 5. 可维护性好 9.2 面向对象的概念 9.2.1 对象 对象(Object)是客观事物或概念的抽象表述,即对客观存在的事物的描述统称为对象,对象可以是事、物、或抽象概念. 面向对象方法学中的对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。 通常把对象的操作称为服务或方法。 2. 对象的定义 定义1: 对象是具有相同状态的一组操作的集合。这个定义主要是从面向对象程序设计的角度看“对象”。 定义2: 对象是对问题域中某个东西的抽象,这种抽象反映了系统保存有关这个东西的信息或与它交互的能力。也就是说,对象是对属性和操作的封装。这个定义着重从信息模拟的角度看待“对象”。 定义3: 对象=〈ID,MS,DS,MI〉。其中,ID是对象的标识或名字,MS是对象中的操作集合,DS是对象的数据结构,MI是对象受理的消息名集合(即对外接口)。这个定义是一个形式化的定义。 总之:对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体,这个封装体有惟一地标识它的名字,而且向外界提供一组服务(即公有的操作)。对象中的数据表示对象的状态,每当需要改变对象的状态时,只能由其他对象向该对象发送消息。 3. 对象的特点 (1) 以数据为中心。操作围绕
文档评论(0)