第五章 对象图
目录:
5.1 什么是对象
5.1.1 对象
1.对象是一件事、一个实体、一个名词,是客观存在的事物。一些对象是活的,一些对象不是。现实世界中的对象有汽车、人、房子、桌子、狗、支票簿或雨衣。
2.所有的对象都有属性,例如汽车有厂家、型号、颜色和价格。狗有种类、年龄、颜色和喜欢的玩具、对象还有行为(behavior):汽车可以从一个地方移动到另一个地方,狗会吠。
5.1.2 对象的特点
对象具有状态、行为和标识三个特点。
1.状态
对象的状态指对象在某一时刻,对象所有属性值的集合。
2.行为
没有一个对象是孤立存在的,对象可以被操作,也可以操作别的对象。而行为就是一个对象根据它的状态改变和消息传送所采取的行动和所做出的反应
3.标识
为了将一个对象与其它所有对象区分开来,我们通常会给它起一个“标识”
5.1.3 对象与类的区别
1.对象是一个存在于时间和空间中的具体实体,而类是一个模型,该模型抽象出对象的“本质”:一组公共属性和一组公共方法。
2.类是静态的,对象是动态的;类是一般化,对象是个性化;类是定义,对象是实例;类是抽象、对象是具体 。
5.2 对象图的概念
对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
5.2.1 对象图
对象图是描述对象及其关系的图。与所有UML的其它图一样,对象图可以包括对象、链接、注释、约束。对象图可以看作类图在某一时刻的实例。几乎使用与类图完全相同的标识。他们的不同点在于,对象图显示类的多个对象实例,而不是实际的类。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。下图是一个典型的对象图。
5.2.2 对象图的作用
对象图常用来描述业务或软件系统在某一时刻,对象的组成、结构和关系。
5.2.3 对象图的组成元素
组成对象图的元素有:对象、链接、注释、约束。链接把多个对象连接在一起构成一个对象图。
5.3 对象的表示
UML中,表示一个对象,主要是标识它的名称、属性。如下图所示,对象由一个矩形表示,它包含2栏,在第一栏写入对象名,在第二栏列出属性名及属性值,格式如:”属性名=属性值”
对象名有下面三种表示格式,不同点在于第一栏表示对象的格式不同
1.对象名:类名
对象名在前,类名在后,用冒号来连接。对象名和类名都加下划线。
2.:类名
这是对匿名对象的表示方法。这种格式用于尚未给对象取名的情况,前面的冒号不能省略。
3.对象名
省略格式,即省略掉类名。只有对象名,对象名必须加下划线。
5.4 链接的表示
链接是两个对象间的语义关系。关联是两个类间的关系。就象对象是类的实例一样,链接是关联的实例。链接分单向链接和双向链接。
1.双向链接
其中,队长、秘书和成员都是角色名称。分别表示小王,小刘,小陈在链接中充当的角色。
2.单向链接
单向链接表明,:PersonDetails到:Address的链接是单向的,即,对象:PersonDetails可以引用对象:Address,反之不然。
5.5 阅读对象图的方法
对象图中,对象间的关系称为链接。阅读对象图的方法:
(1)找出图中所有的类
(2)了解每个对象的语义
(3)了解对象之间连接含义。
首先阐述了对象的三大特性:结构、行为、标识,从而阐释了对象和类之间的辩证关系,并在此基础上,解释对象的表示法和对象图的阅读方法 。