对像图

在面向对象的编程中,统一建模语言(UML)中的对像图是一个图表,该图在特定时间显示了建模系统的结构的完整或部分视图。
概述
在统一的建模语言(UML)中,对像图专注于某些特定的对象和属性集以及这些实例之间的链接。一组相关的对像图集提供了有关系统的任意视图如何随着时间的推移而发展的洞察力。早期UML规格描述了对像图:
“对像图是实例的图,包括对象和数据值。静态对像图是类图的实例;它在某个时间点显示了系统详细状态的快照。使用对像图的使用。相当有限,即显示数据结构的示例。”
最新的UML 2.5规范不能明确定义对像图,而是为分类器实例提供了一个符号。
对像图和类图密切相关,并使用几乎相同的符号。这两个图都旨在可视化系统的静态结构。当类图显示类时,对像图显示了类的实例(对象)。对像图比班级图更具体。它们通常用于提供示例或充当类图的测试用例。在对像图上,通常仅显示模型当前兴趣的各个方面。
对像图主题
实例规格
对像图上的每个对象和链接都由实例规定表示。这可以显示对象的分类器(例如抽像或具体类)和实例名称,以及使用插槽的属性和其他结构特征。每个插槽对应於单个属性或功能,并且可能包括该实体的值。
实例规范上的名称(可选)显示了一个实例名称,a':'saparator,以及由逗号分隔的一个或多个分类器名称。插槽的内容(如果有)在名称下方包括在单独的属性隔间中。链接显示为实线,代表关联的实例。
对像图示例

考虑一种模拟斐波那契序列产生的可能方法。
在右侧的第一个UML对像图中,最左侧实例规范中的实例被命名为V1 ,具有独立变量为其分类器,在斐波那学上扮演Nminus2角色,并且具有值为0的Val属性的插槽。第二个对象命名为v2 ,是独立级别的v2,扮演nminus1角色,并且val = 1 。依赖性对象命名为v3 ,并扮演n个角色。最上方的实例是匿名实例规范,具有斐波那accifunction作为其分类器,并且可能具有实例名称,角色和插槽,但此处未显示。该图还包括三个命名链接,显示为行。链接是协会的实例。

在第二个图中,在稍后的时间点上,独立变量和因子对像是相同的,但是val属性的插槽具有不同的值。角色名称在这里没有显示。

在最后一个对像图中,稍后的快照,涉及相同的三个对象。他们的插槽具有不同的值。实例和角色名称在此处显示。
用法
如果您使用的是UML建模工具,通常会使用其他图表类型(例如在类图上)绘制对像图。对象实例可以称为实例规范,也可以称为实例。实例之间的链接通常称为链接。其他UML实体,例如聚合或组成符号(钻石)也可能出现在对像图上。