目录
定义
对象图一般没有单独说明。大概是觉得用途不大,类图足够表达了。
对象图(Object Diagram)是显示了一组对象和他们之间的关系。使用对象图来 说明数据结构,类图中的类或组件等的实例的静态快照。对象图和类图一样反映 系统的静态过程,但它是从实际的或原型化的情景来表达的。
对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于 对象图显示类的多个对象实例,而不是实际的类。一个对象图是类图的一个实例。 由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
用途
对象图显示某时刻对象和对象之间的关系。一个对象图可看成一个类图的特 殊用例,实例和类可在其中显示。对象也和合作图相联系,合作图显示处于语境 中的对象原型(类元角色)。对象图的用途如下:
- •捕获实例和连接
- •在分析和设计阶段创建
- •捕获交互的静态部分
- •举例说明数据/对象结构
- •详细描述瞬态图
- •由分析人员、设计人员和代码实现人员开发
组成元素以及元素之间的关系说明
表示法:对于对象图来说无需提供单独的形式。类图中就包含了对象,所以只有对象而 无类的类图就是一个“对象图“。然而,”对象图“这条短语在刻画各方面特定使用时非常 有用。
对象图显示对象集及其联系,代表了系统某时刻的状态。它包含带有值的对象,而 非描述符,当然,在许多情况下对象可以是原型。用合作图可显示一个可多次实例化的 对象及其联系的总体模型,合作图包含对象和链的描述符(类元角色和联系角色)。如 果合作图实例化,则产生了对象图。
对象图不显示系统的演化过程。为此目的,可用带消息的合作图,或用顺序图表示一次 交互。
类图与对象图的区别:
类图 | 对象图 |
在类中包含三部分,分别是类名、类的属性和类的操作 | 对象包含两个部分:对象的名称和对象的属性 |
类的名称栏只包含类名 | 对象的名称栏包含"对象名:类名“ |
类的属性栏定义了所有属性的特征 | 对象的属性栏定义了属性的当前值 |
类中列出了操作 | 对象图中不包含操作内容,因为对属于同一 个类的对象,其操作是相同的 |
类中使用了关联连接,关联中使用名 称、角色以及约束等特征定义 | 对象使用链进行连接,链中包含名称、角色 |
类是一类对象的抽象,类不存在多重性 | 对象可以具有多重性 |