面向对象的特点( 四 )


3、建立对象之间的通讯 。
对象之间通过收发信息相互沟通 , 这一点类似于人与人之间的信息传递 。 信息传递的概念使得真实世界的直接模拟更易于和建立系统交流 。
对于某个特定对象来说 , 消息就是请求执行某个过程 , 因此 , 消息的接收对象会调用一个函数(过程) , 以产生预期的结果 。 传递的消息的内容包括接收消息的对象的名字 , 需要调用的函数的名字 , 以及必要的信息 。
对象就有一个生命周期 。 它们可以被创建和销毁 。 只要对象正处于其生存期 , 就可以与其进行通讯 。
OOP的优点
OOP具有许多优点 , 无论是对于程序设计者或者用户来说都是如此 。 面向对象为软件产品扩展和质量保证中的许多问题提供了解决办法 。 这项技术能够大大提高程序员的生产力 , 并可提高软件的质量以及降低其维护费用 。 其主要的优点陈列于下:
1、通过继承 , 我们可以大幅减少多余的代码 , 并扩展现有代码的用途;
2、我们可以在标准的模块上(这里所谓的“标准”指程序员之间彼此达成的协议)构建我们的程序 , 而不必一切从头开始 。 这可以减少软件开发时间并提高生产效率;
3、数据隐藏的概念帮助程序员们保护程序免受外部代码的侵袭;
4、允许一个对象的多个实例同时存在 , 而且彼此之间不会相互干扰;
5、允许将问题空间中的对象直接映射到程序中;
6、基于对象的工程可以很容易的分割为独立的部分;
7、以数据为中心的设计方法允许我们抓住可实现模型的更多细节;
8、面向对象的系统很容易从小到大逐步升级;
9、对象间通讯所使用的消息传递技术与外部系统接口部分的描述更简单;
10、更便于控制软件复杂度 。
当需要将以上所说的所有特性有机的结合于一个面向对象系统中 , 它们之间的相对重要性就取决于工程的类型和程序员的喜好 。 为了获得上述的某些优势 , 必须考虑很多事情 。 例如 , 对象库必须可以被重用 。 技术还在不停的发展 , 现有的产品也会很快的更新换代 。 如果重用没有能够实现 , 那么就需要进行严格的控制和管理 。
易于使用的开发软件往往难以编写 。 面向对象程序设计工具有望解决这个问题 。
面向对象程序设计语言
面向对象技术并不是某个特定语言的特权 。 如同结构化程序设计一样 , OOP概念可以在很多语言比如C和Pascal中实现 。 但是 , 当程序越来越大时 , 程序设计工作会变得拙劣而混乱 。 而一个支持OOP概念的程序设计语言则可以让一切变得简单 。
一个语言必须支持几个主要的OOP概念才能称其是面向对象的 。 根据所支持的OOP特性 , 语言可以分为以下两类:
1、基于对象的程序设计语言;
2、面向对象的程序设计语言 。
基于对象的程序设计语言仅支持封装和对象辨识 。
一个面向对象的程序设计语言所要支持的重要特性如下:
·数据封装
·数据隐藏和访问机制
·对象的自动初始化和清除
·操作符重载
支持对象风格程序设计的语言称为基于对象的程序设计语言 。 它们不支持继承和动态绑定 。
Ada就是一个典型的基于对象的程序设计语言 。
面向对象的程序设计不仅仅包含基于对象程序设计的特性 , 还支持继承和动态绑定 。
OOP的应用
OOP最有前途的应用领域如下:
1、实时系统;
2、仿真和建模;
3、面相对象数据库;
4、超文本、超媒体和扩展文本;

推荐阅读