面向对象技术原理综述

上传人:M****1 文档编号:511485126 上传时间:2023-04-26 格式:DOC 页数:4 大小:99.01KB
返回 下载 相关 举报
面向对象技术原理综述_第1页
第1页 / 共4页
面向对象技术原理综述_第2页
第2页 / 共4页
面向对象技术原理综述_第3页
第3页 / 共4页
面向对象技术原理综述_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《面向对象技术原理综述》由会员分享,可在线阅读,更多相关《面向对象技术原理综述(4页珍藏版)》请在金锄头文库上搜索。

1、面向对象技术原理综述前沿面向对象技术是一种全新设计和构造软件的技术,它使计算机解决问题的方式更符合人类的思维方式, 更能直接地描述客观世界, 通过增加代码的可重用性、可扩充性和程序自动生成功能来提高编程效率, 并且大大减少软件维护的开销, 已经被越来越多的软件设计人员所接受。八十年代末以来, 随着面向对象技术成为研究的热点出现了几十种支持软件开发的面向对象方法。1 面向对象技术的基本概念1.1 对象与消息1.1.1 对象参考资料 对象是现实世界中的一个实体, 在计算机世界中, 它以数据为中心而不是以功能为中心来描述系统, 可以把对象看成是存储器中一个可标识的区域,它能保存固定或可变数目的数值(

2、 或数值的集合) 。为了发现对象, 开发人员要在系统需求和系统分析的文档中查找名词和名词短语, 包括客观世界可感知的事物( 桌子、椅子、机器) ; 角色( 学生、教师、工人、农民、公务员) ;事件( 禽流感、恐怖活动、空中救援) ; 互相作用( 批评、上课、宣传) ; 人员; 场所; 组织; 设备; 和地点。当重要的对象被发现后, 通过一组互相关联的模型详细表示对象之间的关系和对象的行为, 这些模型从四个不同的侧面表示了软件的体系结构: 静态逻辑、动态逻辑、静态物理和动态物理。静态逻辑模型描述实例化( 类成员关系) 、关联、聚集( 整体/部分) 、和一般化( 继承) 等关系。这被称为对象模型。

3、一般化关系表示属性和方法的继承关系。定义对象模型的图形符号体系通常是从用于数据建模的实体关系图导出的。对设计十分重要的约束, 如基数( 一对一、一对多、多对多),也在对象模型中表示。动态逻辑模型描述对象之间的互相作用。互相作用通过一组协同的对象, 对象之间消息的有序的序列, 参与对象的可见性定义, 来定义系统运行时的行为。静态物理模型通过模块描述代码的布局。动态物理模型描述软件的进程和线程体系结构。1.1.2 消息 消息是对象之间相互请求或相互协作的途径, 是要求某个对象执行其中某个功能操作的规格说明。同一对象可接收不同形式的多个消息, 产生不同的响应; 相同形式的消息可以送给不同的对象, 所

4、作出的响应可以是截然不同的; 消息的发送可以不考虑具体的接收者, 对象可以响应消息, 也可以对消息不予理会,对消息的响应并不是必须的。1.2 类面向对象程序由类的定义和类的使用两部分组成,类是对一组客观对象的抽象, 它将该组对象所具有的共同特征( 包括结构特征和行为特征) 集中起来, 以说明该组对象的能力和性质。面向对象技术将数据和对数据的操作封装在一起, 作为一个整体来处理, 采用数据抽象和信息隐蔽技术, 将这个整体抽象成一种新的数据类型, 也就是类。在面向对象程序设计中, 类的确定与划分非常重要,是软件开发中关键的一步, 划分的结果直接影响到软件系统的质量。如果划分得当, 既有利于程序进行

5、扩充, 又可以提高代码的可重用性。因此, 在解决实际问题时, 需要正确地进行分“类”。理解一个类究竟表示哪一组对象,如何把实际问题中的事物汇聚成一个个的“类”, 而不是一组数据。这是面向对象程序设计中的一个难点。类的确定和划分并没有统一的标准和固定的方法,基本上依赖设计人员的经验、技巧以及对实际问题的把握。但有一个基本原则: 寻求一个大系统中事物的共性,将具有共性的系统成分确定为一个类。确定某事物是一个类的步骤包括: 第一步, 要判断该事物是否有一个以上的实例, 如果有, 则它是一个类; 第二步, 要判断类的实例中有没有绝对的不同点, 如果没有, 则它是一个类。另外, 还要知道什么事物不能被划

6、分为类。不能把一组函数组合在一起构成类, 也就是说, 不能把一个面向过程的模块直接变成类。类不是函数的集合!1.3 对象与类的关系对象由属性和行为两部分组成。对象只有在具有属性和行为的情况下才有意义, 属性是用来描述对象静态特征的一个数据项, 行为是用来描述对象动态特征的一个操作。对象是包含客观事物特征的抽象实体, 是属性和行为的封装体, 在程序设计领域, 可以用“对象=数据十作用于这些数据上的操作”这一公式来表达。类是具有相同属性和行为的一组对象的集合, 它为属于该类的全部对象提供了统一的抽象描述, 其内部包括属性和行为两个主要部分, 类是对象集合的再抽象。类与对象的关系如同一个模具与用这个

7、模具铸造出来的铸件之间的关系。类给出了属于该类的全部对象的抽象定义, 而对象则是符合这种定义的一个实体。所以, 一个对象又称作类的一个实例。2 面向对象系统的特征面向对象技术的基本特征主要有封装性、继承性和多态性。2.1 封装性封装是指将一个数据和与这个数据有关的操作集合在一起, 形成一个有机的实体对象。用户不必知道对象行为的实现细节, 只需根据对象提供的外部特性接口访问对象即可。封装有两个含义: 一是把对象的全部属性和行为结合在一起, 形成一个不可分割的独立单位。对象的属性值( 除了公有的属性值) 只能由这个对象的行为来读取和修改; 二是尽可能隐蔽对象的内部细节对外形成一道屏障, 与外部的联

8、系只能通过外部接口实现。封装机制将对象的使用者与设计者分开, 使用者不必知道对象行为实现的细节, 只需要用设计者提供的外部接口让对象去做。封装的结果实际上隐蔽了复杂性, 并提供了代码重用性, 从而降低了软件开发的难度。2.2 继承性继承所表达的是两类或更多类对象之间的相交关系, 它使得某类对象可以继承另外一类对象的特征和能力。继承意味着“自动地拥有”, 即特殊类中不必重新定义已在一般类中定义过的属性和行为, 而它却自动地、隐含地拥有其一般类的属性与行为。继承允许和鼓励类的重用, 提供了一种明确表述共性的方法。一个特殊类既有自己新定义的属性和行为, 又有继承下来的属性和行为。尽管继承下来的属性和

9、行为是隐式的, 但无论在概念上还是在实际效果上, 都是这个类的属性和行为。当这个特殊类又被它更下层的特殊类继承时, 它继承来的和自己定义的属性和行为又被下一层的特殊类继承下去。因此, 继承是传递的, 体现了大自然中特殊与一般的关系。按继承源划分: 单继承; 多继承。按继承内容划分:取代继承; 包含继承; 受限继承; 特化继承。2.3 多态性当不同的对象收到相同的消息时产生不同的动作。具体来说, 多态性是指类中同一函数名对应多个具有相似功能的不同函数, 可以使用相同的调用方式来调用这些具有不同功能的同名函数。2.4 继承性和多态性继承性和多态性的结合, 可以生成一系列虽类似但独一无二的对象。由于

10、继承性, 这些对象共享许多相似的特征; 由于多态性, 针对相同的消息, 不同对象可以有独特的表现方式, 实现特性化的设计。3 面向对象的程序设计面向对象程序设计将数据及对数据的操作放在一起, 作为一个互相依存、不可分割的整体来处理, 它采用了数据抽象和信息隐藏技术。它将对象及对对象的操作抽象成一种新的数据类型类, 并且考虑不同对象之间的联系和对象类的重用性。面向对象程序设计的优越性表现在代码的可重用性和可扩充性。4 面向对象程序设计语言混合型面向对象程序设计语言C+C+是一种混合性语言, 它既具有独特的面向对象特征, 又保留传统的高效结构语言C 的主要特征。C+提供给程序开发者的面向对象能力,

11、 而又不失去内存运行效率, 并能在普通计算机上产生高质量的产品。C+早在1980 年就由AT&T 贝尔实验室开发, 迄今仍在演变中。C+是支持面向对象程序设计和C 的一个超集, C+面向对象语言全面支持数据抽象, 数据封装,继承性和多态性。5 纯面向对象程序设计语言JavaJava 是由SUN 公司的J.Gosling、B.Joe 等人在20 世纪90 年代初开发出的一种纯面向对象程序设计语言。Java 是标准的又是大众化的面向对象程序设计语言。首先, Java 作为一种解释型程序设计语言, 具有简单性、面向对象性、平台无关性、可移植性、安全性、动态性和健壮性, 不依赖于机器结构, 并且提供了并发的机制, 具有很高的性能; 其次, 它最大限度地利用了网络, Java 的应用程序(Applet) 可在网络上传输, 可以说是网络世界的通用语言; 另外, Java 还提供了丰富类库, 使程序设计者可以方便地建立自己的系统。因此, Java 具有强大的图形、图像、动画、音频、视频、多线程及网络交互能力, 使其在设计交互式、多媒体网页和网络应用程序方面大显身手。 (作者:程贤智) 1 / 4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号