第2章面向对象技术基础8.ppt

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

第2章 面向对象技术基础 2.1 面向对象概述 2.2 对象 2.3 面向对象方法学概述 2.4 对象模型 2.5 小结 2.1 面向对象概述 2.1.1 传统软件开发方法存在的问题 传统的生命周期软件开发方法学主要存在下列问题: (1) 软件重用性差 (2) 软件可维护性差 (3) 开发出的软件不能满足用户需要 2.1.2 面向对象的基本概念 (1) 对象:现实世界中客观存在的事物都被称之为对象。 对象不仅能表示具体的事物,还能表示抽象的规则、计划或事件,如旅游、球赛等都是对象。 (2) 对象的状态和行为:对象具有属性 (或状态),一个对象用数据值来描述它的状态。对象还有操作(或行为、方法、算法、服务、函数)。操作用于改变对象的状态。对象由对象名、属性、操作组成。 对象实现了数据和操作的集成,使数据和操作封装于对象的统一体中。 (3) 类:类是具有相同或相似性质的对象的抽象。因此,对象的抽象是类,类的具体化就是对象,也说类的实例是对象。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的算法来描述。类由类名、属性、操作组成。 (4) 消息和方法:对象之间进行的通信叫做传递消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数应该是认识该消息的对象所知道的变量名。 类中操作的实现过程经常称为方法,一个方法有方法名、参数、方法体。 (5) 封装:对象的封装就是把对象包起来,使外界只能看到对象的接口,而不能知道对象内部的具体内容。一个对象的数据其它对象不能直接访问,一个对象的操作其它对象也不能直接使用。 封装性主要表现在如下两个方面: ① 有固定的接口。这些接口规定了对象接受消息的格式,其它对象只有通过这些接口才能向这个对象发送消息。 ② 保护内部实现。所有私有数据和私有操作都被封装在对象内部,其它对象不能直接访问。 封装性是保证软件部件具有优良的模块性的基础,对外界隐蔽了实现细节,有效地实现了信息隐蔽。面向对象的类是封装良好的模块。 (6) 继承:继承是子类自动共享基类属性和操作的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。 继承具有传递性,如果类C继承类B,类B又继承类A,则类C也继承了类A。一个类实际上可以继承它上层的所有基类的属性和操作。 在类层次中,子类只继承一个基类的属性和操作,则称为单重继承。 在类层次中,子类继承了多个基类的属性和操作,则称为多重继承。 类的继承性提高了软件的重用性。 (7) 多态:多态性指相同的操作可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 多态性允许每个对象以适合自身的方式去响应共同的消息。 多态性增强了软件的灵活性,减少了信息冗余,提高了软件的重用性和可扩充性。 (8) 重载:重载是指同一个操作名,对于不同的参数结构,可以执行不同的操作。 重载提高面向对象系统的灵活性和可读性。 2.2 对象 对象把它的内部数据和功能的实现封装起来,它向外界开放的操作就如录音机上的按键,对象A只有通过对象B的接口才能向对象B发送消息。对象中对外开放的操作就像录音机上的按键,使用者只需要知道操作的名字(如录音机的功能名)和需要的参数(如录音机中听某首歌曲,歌曲在磁带中的位置),使用者不需要知道这些操作的具体实现方法(就如使用录音机录音,不需要知道具体实现的电路)。 对象的使用者也不需要知道对象内部的具体实现和数据内容。 对象的模型如图2.3所示,对象的属性数据是封装的,对象中实现功能的操作(算法)也是封装的,n个功能接口是对象的对外界面,其它对象根据接口的名称和参数向该对象发送消息。对象有力支持了抽象、信息隐蔽、模块化、局部化等软件工程基本原则。 对象是属性数据和操作的封装。 对象 = 对象名 + 操作集合 + 数据集合 + 对外接口集合 对象是封装了数据,并且封装了对数据的操作的模块,这个模块有惟一的名字,有公开的对外接口。对象中的数据值表示了对象所处的状态,对象的状态是可以变化的,一个对象的状态只能由该对象自己的操作改变。当一个对象收到其他对象的消息时,执行对应的操作,同时改

文档评论(0)

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

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

1亿VIP精品文档

相关文档