车海燕-软件工程-Lecture-SE-2013-Chap10-01.pptVIP

车海燕-软件工程-Lecture-SE-2013-Chap10-01.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程 - 2013 - 第十章 面向对象(1) 第十章 面向对象 (1) Coad和Yourdon给出了一个定义: “面向对象=对象+类+继承+通过消息进行通信” 认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成; 把所有对象都划分成各种对象类(简称为类,class),每个对象类都定义了一组数据和一组方法; 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级); 对象彼此之间仅能通过传递消息互相联系。 对象:在应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。 对象是由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。 对象的形象表示: 对象的定义: 定义1:对象是具有相同状态的一组操作的集合。 定义2:对象是对问题域中某个东西的抽象,这种抽象反映了系统保存有关这个东西的信息或与它交互的能力。也就是说,对象是对属性值和操作的封装。 定义3:对象∷=(ID,MS,DS,MI)。其中,ID是对象的标识或名字,MS是对象中的操作集合,DS是对象的数据结构,MI是对象受理的消息名集合(即对外接口)。 对象中的数据表示对象的状态,一个对象的状态只能由该对象的操作来改变。每当需要改变对象的状态时,只能由其他对象向该对象发送消息。对象响应消息时,按照消息模式找出与之匹配的方法,并执行该方法。 与面向对象相关的主要概念: 标识身份(Identity); 抽象(Abstraction); 分类(Classification); 封装(Encapsulation); 继承(Inheritance); 多态(Polymorphism); 这些概念按与面向对象本质相关的程度排列; 标识身份:意指数据与操作都被组织到相互分离、区别开来的问题空间实体当中。没有身份,对象就没有和某问题空间相联系,就仅仅是某个抽象数据类型,丧失了与问题求解相关的语义,无法与其他问题空间对象相联系,也无法被集成进整个开发求解过程。 抽象:这个要素并非面向对象独有,是在描述系统时应在一定程度上遵循的原则; 分类:把具有相同属性类型和操作的对象组成一组。 分类本身具有主观性; 要针对待解问题与其解决方案来确定如何分类; 是组织问题空间知识的一种方法; 类(class):“类”就是对具有相同数据和相同操作的一组相似对象的定义。 实例(instance):实例就是由某个特定的类所描述的一个具体的对象。 封装:类封装了它的实例对象的属性与行为,隐藏实现细节。 对象具有封装性的条件如下: 有一个清晰的边界。所有私有数据和实现操作的代码都被封装在这个边界内,从外面看不见更不能直接访问。 有确定的接口(即协议)。这些接口就是对象可以接受的消息,只能通过向对象发送消息来使用它。 受保护的内部实现。 继承:是指能够直接获得已有的性质和特征,而不必重复定义它们。 根据各类间的异同点把它们组成层次结构,从而表示:位于下层的类继承了上层中某类的特点。 继承是子类自动地共享基类中定义的数据和方法的机制。 或者反方向来看,是从“特殊性”概念归纳“一般性” 概念的一种机制。 抽象类 使用继承的好处: 继承性使得相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余信息; 易于修改软件; 方便新的应用系统的开发; 利于软件重用; 多态:类的一个行为在其子类中有不同表现形式。 行为(Behavior):是指一个对象所能执行的动作或者变换; 操作(Operation):行为在类的定义中进一步被明确为操作; 方法(Method):一个操作在某个类中的一种特定实现被称为一个方法; Polymorphism means “many forms”. Polymorphic operations have many implementations. A concrete subclass must implement all the abstract operations that it inherits. With polymorphism, objects of different classes respond to the same message in different ways. Concrete operations may also be polymorphic – but this is bad style. 与人类习惯的思维方法一致: 传统的程序设计技术忽略了数据和操作之间的内在联系,用这种方法所设计出来的软件系统其解空间与问题空间并不一

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档