对象图一般不用,但是对象会在以后用到,因此要学习
对象图是UML中的非正式图,使用较为有限,主要用于表示系统在某个特定时刻的具体情况。
对象图(Object Diagram)可以描述系统在某一个特定时间点上的静态结构,是类图的实例和快照;用于描述系统中参与交互的各个对象 在某一时刻的状态(属性及当前值) 。
使用场景:
对象图的使用十分有限,主要用于说明系统在某一特定时刻的具体运行状态。
一般在论证类模型的设计时使用,也就是说在建立复杂逻辑的类交互时,可以用对象图辅助说明类图。
作用:
-
说明复杂的数据结构
使用对象图描绘对象之间的关系,可以帮助说明复杂的数据结构在某一时刻的快照,从而有助于对复杂数据结构的抽象。
对于逻辑较复杂的类交互时,可以考虑画出一些对象图来做补充说明。 -
表示快照中的行为
对象图通过一系列的快照,可以有效表达事物的行为。
当设计类模型时,可以通过对象图模拟出一个运行时状态,以验证运行时设计的合理性。
组成:
对象图中包含两个组成:
-
对象(Object)
对象是类的特定实例 -
链(Link)。
链是类关系的实例,表示对象之间的特定关系。
对象
对象的特性:
标识:在生命周期内它有唯一的名称。
状态:包括对象的所有属性和这些属性的当前值。
行为:可以调用操作。
对象—对象与类的区别
对象是一个存在于时间和空间中的具体实体,而类是一个模型,该模型抽象出对象的“本质”。
- 类是一般化,对象是个性化。
- 类是定义,对象是实例。
- 类是抽象,对象是具体。
表示:
一般是两栏,且一般名字用下划线标出
有三种常见的形式:
-
对象名:类名
标准表示法。由于对象是具体事物,则所有属性均已确定,因此在属性后面列出其值。 -
:类名
匿名表示方法。 -
对象名
省略表示法,即省略掉类名。
链
链是两个或多个对象之间的独立连接,是类关系的实例。
链分为单向链和双向链,链的两端可以显示角色。
创建
对象图要基于类图来绘制,即先画类图,再画对象图。
注意:
SU免费版中没有专门的对象图,可在协作图中表示。
和类图对比
表示方法上的区别:
含义与作用上的区别:
类图所建立的模型描述的是通用的情况;而对象图所建立的模型描述的是某种特定的情况。
类图可以完整地描述系统的对象结构;对象图则不能。
类图中的一个类,可能对应对象图中的多个对象。