个工作步骤之间的迭代,在面向对象范型中比在结构化范.pptVIP

个工作步骤之间的迭代,在面向对象范型中比在结构化范.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
个工作步骤之间的迭代,在面向对象范型中比在结构化范

9.1.3 喷泉模型(Fountain model) 迭代是软件开发过程中普遍存在的一种内在属性。经验表明,软件过程各个阶段之间的迭代或一个阶段内各个工作步骤之间的迭代,在面向对象范型中比在结构化范型中更常见。 图9.1 喷泉模型(Fountain model) 9.2 面向对象的概念(Object-Oriented concepts) 9.2.1 对象(Object)   在应用领域中有意义的,与所要解决的问题有关系的任何事物都可以作为对象。对象是对问题域中某个实体的抽象,设立某个对象就反映了软件系统具有保存有关它的信息并且与它进行交互的能力。   面向对象方法学中的对象是由描述该对象属性的数据(静态的属性)以及可以对这些数据施加的所有操作(服务或方法)封装在一起构成的统一体。 1. 对象的形象表示(Object visualized) 图9.2 对象的形象表示(Object visualized) 2. 对象的定义((Object Definition)  (1) 定义1: 对象是具有相同状态的一组操作的集合。   这个定义主要是从面向对象程序设计的角度看“对象”。 (2) 定义2: 对象是对问题域中某个东西的抽象,这种抽象反映了系统保存有关这个东西的信息或与它交互的能力。也就是说,对象是对属性值和操作的封装。   这个定义着重从信息模拟的角度看待“对象”。 (3) 定义3: 对象∷=〈ID,MS,DS,MI〉。其中,ID是对象的标识或名字,MS是对象中的操作集合,DS是对象的数据结构,MI是对象受理的消息名集合(即对外接口)。   这个定义是一个形式化的定义。 3. 对象的特点(Object Characteristic) (1) 以数据为中心。操作围绕对其数据所需要做的处理来设置,而且操作的结果往往与当时所处的状态(数据的值)有关。 (2) 对象是主动的。必须通过它的公有接口向对象发消息,请求它执行它的某个操作。 (3) 实现了数据封装。对私有数据的访问或处理只能通过公有的操作进行。根本无须知道数据的具体结构以及实现操作的算法。这也就是抽象数据类型的概念。 (4) 本质上具有并行性。对象是描述其内部状态的数据及可以对这些数据施加的全部操作的集合。不同对象各自独立地处理自身的数据,彼此通过发消息传递信息完成通信。因此,本质上具有并行工作的属性。 (5) 模块独立性好。对象内部各种元素彼此结合得很紧密,内聚性相当强。由于完成对象功能所需要的元素(数据和方法)基本上都被封装在对象内部,它与外界的联系自然就比较少,因此,对象之间的耦合通常比较松。 9.2.2 其他概念 1. 类(class)    类是对具有相同属性和行为的一个或多个对象的描述。类是支持继承的抽象数据类型,而对象就是类的实例。 2. 实例(instance)   实例就是由某个特定的类所描述的一个具体的对象。   当使用“对象”这个术语时,既可以指一个具体的对象,也可以泛指一般的对象,但是,当使用“实例”这个术语时,必然是指一个具体的对象。 3. 消息(message)   消息就是要求某个对象执行它的某个操作的规格说明。 4. 方法(method)   方法就是对象所能执行的操作,也就是类中所定义的服务。方法描述了对象执行操作的算法,响应消息的方法。在C++语言中把方法称为成员函数。 5. 属性(attribute) 属性就是类中所定义的数据,类的每个实例都有自己特有的属性值。 在C++语言中把属性称为数据成员 6. 封装(encapsulation) 从字面上理解,所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。 7. 继承(inheritance)   继承是指能够直接获得已有的性质和特征,而不必重复定义它们。继承是子类自动地共享基类中定义的数据和方法的机制。   当类等级为树形结构时,类的继承是单继承;当允许一个类有多个父类时,类的继承是多重继承。但是,使用多重继承时要注意避免二义性。 图9.4 实现继承机制的原理 8. 多态性(polymorphism)   多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象。根据该对象所属于的类动态选用在该类中定义的实现算法。   在C++语言中,多态性是通过虚拟函数来实现的。在类等级不同层次中可以说明名字、参数特征和返回值类型都相同的虚拟成员函数,而不同层次的类中的虚函数实现算法各不相同。 9. 重载(overloading)   有两种重载:函数重载是指在同一作用域内的若干个参数特征不同的函数可以使用相同的函数名字;运算符重载是指同

文档评论(0)

5201314118 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7065201001000004

1亿VIP精品文档

相关文档