试图理解从 Class 图到对象图的转换过程

Trying to understand the conversion process from Class diagram to Object diagram

我正在尝试了解如何从 Class 图转到对象图。我已经阅读了几个教程,在线观看了一些视频,但我无法理解它。我发现的很多示例都是 class 和对象图属性和场景不同的地方。我发现相同的那些太基础了。

我知道一个对象图显示了 classes 和属性的实例,但我不明白如何正确地从 class 转换为带有所附图表的对象。

所以在您的 class 图表中,您有需要与 class 分开的名称。在您的对象图中,您将扩展 class 图,但列出您需要的 type/object 字段。

在您提供的示例中,让我们看一下营地,您有两个字段,名称和位置。那么现在在你的对象图中,你将如何表示这些字段,你将使用什么数据类型的对象。它们很可能分别存储为一个字符串,或者您可能有一个浮点数列表来表示经度和纬度。它本质上是您计划实施 class 的方式,以便看到图表的人可以复制和理解您的设计实践。

这是一个简单的解释,我们可以进一步解释所有内容将如何转换,但它遵循相同的通用格式。

正如您所描述的,对象是实例。因此,您需要考虑如何在运行时实例化您的 class 模型。您在运行时拥有的实例很可能会根据您的软件遇到的实际场景而有所不同,这就是为什么不同的对象图在结构上可能会有所不同,即使它们都绑定回相同的 classes。

  • 如果您有一个 class 的多个实例,每个实例将使用 UML 中的单独对象表示。
  • 任何在 class 术语中抽象的东西都不能(根据定义)实例化,因此您将只有具体子类型的实例(例如,如果 Scout 是抽象的)。
  • 即使 class 具有多个属性,只有其中一些属性可以在运行时接收值,因此您只能为您的对象定义一个 运行时状态是 class.
  • 上属性的子集

这是一个基于您的 class 模型的示例,但根据具体情况,可能会有许多这样的化身: