第7篇 面向对象方法学引论.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 面向对象方法学引论  面向对象(Object-Oriented,缩写为OO)方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。 通常,客观世界中的实体既具有静态的属性又具有动态的行为。然而传统语言提供的解空间对象实质上却仅是描述实体属性的数据,必须在程序中从外部对它施加操作,才能模拟它的行为。  概括地说,面向对象方法具有下述四个要点。 · 认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。 · 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。 · 对象彼此之间仅能通过传递消息互相联系。 7.2面向对象方法学的主要优点 1. 与人类习惯的思维方法一致 2. 稳定性好 3. 可重用性好 4. 较易开发大型软件产品 5. 可维护性好 由于下述因素的存在,使得用面向对象方法所开发的软件可维护性好。 · 面向对象的软件稳定性比较好。 · 面向对象的软件比较容易修改。 · 面向对象的软件比较容易理解。 · 易于测试和调试。 7.3 面向对象的概念 7.3.1 对象 在应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象(Object),它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。例如,一名职工、一家公司、一个窗口、一座图书馆、一本图书、贷款和借款等,都可以作为一个对象。总之,对象是对问题域中某个实体的抽象,设立某个对象就反映了软件系统保存有关它的信息并具与它进行交互的能力。 1. 对象的形象表示 2. 对象的定义 (1) 定义1 对象是具有相同状态的一组操作的集合。 这个定义主要是从面向对象程序设计的角度看“对象”。 (2) 定义2 对象是对问题域中某个东西的抽象,这种抽象反映了系统保存有关这个东西的信息或与它交互的能力。也就是说,对象是对属性值和操作的封装。 这个定义着重从信息模拟的角度看待“对象”。 (3) 定义3 对象∷=ID,MS,DS,MI 其中,ID是对象的标识或名字 MS是对象中的操作集合 DS是对象的数据结构 MI是对象受理的消息名集合(即对外接口) 这个定义是一个形式化的定义。 从动态角度或对象的实现机制来看,对象是一台自动机。具有内部状态S,操作fi(i=1,2,…,n),且与操作fi对应的状态转换函数为gi(i=1,2,…,n)的一个对象,可以用图7.2所示的自动机来模拟。 3. 对象的特点 · 以数据为中心。 · 对象是主动的。 · 实现了数据封装。 · 本质上具有并行性。 · 模块独立性好。 7.3.2 其他概念 1. 类(Class) 在面向对象的软件技术中,“类”就是对具有相同数据和相同操作的一组相似对象的定义,也就是说,类是对具有相同属性和行为的一个或多个对象的描述,通常在这种描述中也包括对怎样创建该类的新对象的说明。 2. 实例(Instance) 实例就是由某个特定的类所描述的一个具体的对象。 3. 消息(Message) 消息,就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常,一个消息由下述三部分组成: · 接收消息的对象; · 消息选择符(也称为消息名); · 零个或多个变元。 4. 方法(Method) 方法,就是对象所能执行的操作,也就是类中所定义的服务。方法描述了对象执行操作的算法,响应消息的方法。 5. 属性(Attribute) 属性,就是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。类的每个实例都有自己特有的属性值。 9. 封装(Encapsulation) 从字面上理解,所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。 综上所述,具有封装性的

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档