该UML 对象图在一系列结构化建模工具中发挥着独特而关键的作用:它提供了系统的一个具体实例级视图。尽管类图(蓝图)展示了抽象的可能性——即可以存在的对象类型及其潜在关系——而对象图则展示了在特定时刻实际存在存在的实际对象,包括它们当前的数据值和已建立的连接。
可以把类图想象成蛋糕的食谱,详细说明了所需的原料和步骤。而对象图则像是今天烤好的一块蛋糕的照片,展示了它的大小、糖霜颜色以及实际放在桌子上的位置。
了解更多关于类图与对象图——何时使用实例 .

与类图的关系
对象图本质上是类图的一个实例级版本。对象图中的每个元素都必须符合类图中相应类所定义的结构:
-
对象实例:图中的对象是特定类的一个实例。
-
链接:两个对象之间的链接是它们对应类之间所定义的特定关联的一个实例。

这种具体的可视化对于验证抽象的理论设计至关重要。如果类图设计有误,当尝试使用对象图来模拟一个现实场景时,缺陷往往立刻显现。
对象图的关键要素
1. 对象实例
对象实例是主要元素,以矩形表示。其表示法遵循特定格式,以清晰地区分于类:
-
对象名称(可选):分配给实例的特定名称(例如”myOrder,userA). 名称被下划线标出。 -
ClassName: 该对象实例化的类的名称。 -
冒号分隔符: 冒号(
:)将实例名称与类名称分隔开。 -
下划线: 实例名称和类名称都必须被下划线标出 以表明这代表一个对象实例,而不是类定义。(例如,
userB : User或: Order)
2. 属性值
与类图不同,类图显示的是名称属性的当前值特定实例的属性。这使得该图成为一个“快照”。
属性以如下语法列在矩形的第二个分隔区内:
-
示例: 一个名为
myCar : Vehicle可能具有属性值颜色 = "红色"和速度 = 65.
3. 链接
一个 链接 是一个 关联(关系)在类图中定义。链接以简单的实线绘制,连接两个对象矩形。
链接展示了某个特定对象实例当前如何连接或引用另一个特定对象实例。多重性约束(例如,$1..*$ 或 $0..1$)通过快照中这些链接的存在来验证。
-
示例: 如果类图显示
客户和订单之间存在关联,则对象图将显示实例cust1 : 客户和实例order52 : 订单.
何时以及为何使用对象图
对象图通常在分析和设计阶段用于两个主要目的:
-
场景可视化与验证: 它们是可视化复杂配置或边缘情况的绝佳工具。通过展示特定对象及其值,团队可以验证设计是否能正确处理各种场景,例如拥有多个地址的客户,或当前为空的购物车。
-
展示复杂结构: 当类结构使用诸如聚合或组合等高级概念时,可以使用对象图来展示由此产生的层次结构和生命周期依赖关系的具体示例。
-
测试与调试: 通过定义快照,它们可以作为特定测试用例执行前后系统的预期状态,有助于清晰地传达复杂的测试数据。
对象图将抽象的类结构转化为具体且可验证的场景,使其成为确保设计正确性并清晰传达实现示例的宝贵工具。
想了解更多关于UML和AI可视化的内容吗?查看我们的UML资源中心.












