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

Java 试图理解从类图到对象图的转换过程,java,class,object,uml,diagram,Java,Class,Object,Uml,Diagram,我试图理解如何从类图到对象图。我读了好几本教程,在网上看了一些视频,但我还是无法理解。我发现的很多例子都是类和对象图属性和场景不同的地方。我发现那些相同的太基本了 我知道对象图显示了类和属性的实例,但我不知道如何使用所附的图从类正确地转换为对象 因此,在类图中,您有需要作为类的一部分的名称。在对象图中,您将在类图上展开,但列出所需字段的类型/对象 在您提供的示例中,让我们看看营地站点,您有两个字段,名称和位置。现在在对象图中,您将如何表示这些字段,您将使用对象的数据类型。它们很可能会分别存储为字

我试图理解如何从类图到对象图。我读了好几本教程,在网上看了一些视频,但我还是无法理解。我发现的很多例子都是类和对象图属性和场景不同的地方。我发现那些相同的太基本了

我知道对象图显示了类和属性的实例,但我不知道如何使用所附的图从类正确地转换为对象


因此,在类图中,您有需要作为类的一部分的名称。在对象图中,您将在类图上展开,但列出所需字段的类型/对象

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


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

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

  • 如果您有一个类的多个实例,那么每个实例都将在UML中使用一个单独的对象来表示
  • 任何在类术语中是抽象的东西都不能(根据定义)实例化,因此您将只拥有具体子类型的实例(例如,如果Scout是抽象的)
  • 即使一个类有多个属性,也只有其中的一些属性在运行时可以接收值,所以您只能为对象定义一个运行时状态,该状态是类上属性的子集
这是一个基于您的类模型的示例,但根据场景的不同,可能会有许多这样的化身:


富有的童子军将继承童子军。童子军与露营旅行和徽章奖有关。露营旅行与营地相关,授予的徽章与徽章规格相关。您写道:“只有其中一些属性在运行时可以接收值”。我认为默认情况下属性具有多重性
1
。如果您需要的实例没有特定属性的值,那么该属性应该具有多重性
[0..1]
。我不这么认为。对象图不是用来详细说明字段的数据类型,而是用来显示可能存在的实例的示例情况。如果您想详细说明数据类型,那么应该在类图中这样做。