[工学]2011 春 软件建模与分析 第2章 面向对象方法概述.ppt

[工学]2011 春 软件建模与分析 第2章 面向对象方法概述.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]2011 春 软件建模与分析 第2章 面向对象方法概述

软件建模与分析 2011.3-2011.5 1.哲学观与方法论 1.哲学观与方法论 尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。 对象(标识)、类、继承、消息 对象(标识) 、类、继承、消息 (1)认为客观世界是由各种对象组成的    任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成,整个世界是一个最复杂的对象。因此,面向对象的软件系统是由对象组成的,软件中的任何元素都是对象,复杂的软件对象由比较简单的对象组合而成。面向对象方法用对象分解取代了传统方法的功能分解。 (2)把所有对象都划分成各种对象类(简称为类Class)   每个对象类都定义了一组数据和一组方法。数据用于表示对象的静态属性,是对象的状态信息。类中定义的方法,是允许施加于该类对象上的操作,是该类所有对象共享的,并不需要为每个对象都复制操作的代码。 (3)继承(Inheritance)     按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。在这种层次结构中,通常下层的派生类具有和上层的基类相同的特性(包括数据和方法),这种现象称为继承(Inheritance)。但是,如果在派生类中对某些特性又做了重新描述,则在派生类中的这些特性将以新描述为准,也就是说,低层的特性将屏蔽高层的同名特性。 (4)对象彼此之间仅能通过传递消息互相联系。 对象与传统的数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体,必须发消息请求它执行它的某个操作,处理它的私有数据,而不能从外界直接对它的私有数据进行操作。也就是说,一切局部于该对象的私有信息,都被封装在该对象类的定义中,就好像装在一个不透明的黑盒子中一样,在外界是看不见的,更不能直接使用,这就是“封装性”。 (1)与人类习惯的思维方法一致 (2)稳定性好 (3)可重用性好 (4)较易开发大型软件产品 (5)可维护性好 6、面向对象的概念 对象 在应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象(Object),它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。 例如,一名职工、一家公司、一个窗口、一座图书馆、一本图书、贷款和借款等,都可以作为一个对象。 对象是对问题域中某个实体的抽象,设立某个对象就反映了软件系统保存有关它的信息并具与它进行交互的能力。 6、面向对象的概念 对象的定义 (1) 定义1 对象是具有相同状态的一组操作的集合。 这个定义主要是从面向对象程序设计的角度看“对象” (2) 定义2 对象是对问题域中某个东西的抽象,这种抽象反映了系统保存有关这个东西的信息或与它交互的能力。也就是说,对象是对属性值和操作的封装。这个定义着重从信息模拟的角度看待“对象”。 6、面向对象的概念 (3) 定义3 对象∷=ID,MS,DS,MI 其中,ID是对象的标识或名字 MS是对象中的操作集合 DS是对象的数据结构 MI是对象受理的消息名集合(即对外接口) 这个定义是一个形式化的定义。 以数据为中心。 对象是主动的。 实现了数据封装。 本质上具有并行性。 模块独立性好。  在面向对象的软件技术中,“类”就是对具有相同数据和相同操作的一组相似对象的定义,也就是说,类是对具有相同属性和行为的一个或多个对象的描述,通常在这种描述中也包括对怎样创建该类的新对象的说明。 实例(Instance) 实例就是由某个特定的类所描述的一个具体的对象。 实例就是由某个特定的类所描述的一个具体的对象。 消息,就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明。通常,一个消息由下述三部分组成: 接收消息的对象; 消息选择符(也称为消息名); 零个或多个变元。 方法,就是对象所能执行的操作,也就是类中所定义的服务。方法描述了对象执行操作的算法,响应消息的方法。 属性,就是类中所定义的数据,它是对客观世界实体所具有的性质的抽象。类的每个实例都有自己特有的属性值。 从字面上理解,所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。 综上所述,具有封装性的条件如下。 有一个清晰的边界。所有私有数据和实现操作的代码都被封装在这个边界内,从外面看不见更不能直接访问。 有确定的接口(即协议)。这些接口就是对象可以接受的消息,只能通过向对象发送消息来使用它。 受保护的内部实现。实现对象功能的细节(私有数据和代码)不能在定义该对象的类的范

文档评论(0)

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

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

1亿VIP精品文档

相关文档