面向对象技术原理综述前沿面向对象技术是一种全新设计和构造软件的技术,它使计算机解决问题的方式更符合人类的思维方式,更能直接地描述客观世界,通过增加代码的可重用性、可扩充性和程序自动生成功能来提高编程效率,并且大大减少软件维护的开销,已经被越来越多的软件设计人员所接受
八十年代末以来,随着面向对象技术成为研究的热点出现了几十种支持软件开发的面向对象方法
1面向对象技术的基本概念1
1对象与消息1
1对象对象是现实世界中的一个实体,在计算机世界中,它以数据为中心而不是以功能为中心来描述系统,可以把对象看成是存储器中一个可标识的区域,它能保存固定或可变数目的数值(或数值的集合)
为了发现对象,开发人员要在系统需求和系统分析的文档中查找名词和名词短语,包括客观世界可感知的事物(桌子、椅子、机器);角色(学生、教师、工人、农民、公务员);事件(禽流感、恐怖活动、空中救援);互相作用(批评、上课、宣传);人员;场所;组织;设备;和地点
当重要的对象被发现后,通过一组互相关联的模型详细表示对象之间的关系和对象的行为,这些模型从四个不同的侧面表示了软件的体系结构:静态逻辑、动态逻辑、静态物理和动态物理
静态逻辑模型描述实例化(类成员关系)、关联、聚集(整体/部分)、和一般化(继承)等关系
这被称为对象模型
一般化关系表示属性和方法的继承关系
定义对象模型的图形符号体系通常是从用于数据建模的实体关系图导出的
对设计十分重要的约束,如基数(一对一、一对多、多对多),也在对象模型中表示
动态逻辑模型描述对象之间的互相作用
互相作用通过一组协同的对象,对象之间消息的有序的序列,参与对象的可见性定义,来定义系统运行时的行为
静态物理模型通过模块描述代码的布局
动态物理模型描述软件的进程和线程体系结构
2消息消息是对象之间相互请求或相互协作的途径,是要求某个对象执行其中某个功能操作的规格说