java - 如何在 UML 中表示 Java 集合值属性?

标签 java uml class-diagram

你好,我是 UML 的新手,所以我被卡住了。

代码如下:

private ArrayList<Blocks> blocks = new ArrayList<Blocks>();

所以我一直在寻找将该代码正确地放入 UML 中的方法,但我无法理解它。 所以这是我尝试过的一些事情,但我真的不知道是否正确

这里是图形替代品: enter image description here image

那么哪个是正确的,还有更好的方法吗?

最佳答案

从某种意义上说,只要阅读该图的人(或工具)理解您的意思,UML 图中的任何内容都是正确的。

从另一种意义上说,使用UML语法更为常规/合适。 UML 是设计语言而不是编程语言。如果您尝试在 UML 图中对类型、声明等使用编程语言(即 Java)语法,您(可能)错过了 UML 的要点。 (UML 工具可能会反对您使用 Java 语法,但这取决于它实现正式 UML 语法和元模型的紧密程度/深度。)

在这种情况下,我认为最合适的写法是:

  - block : Block[]

  - block : Block[1..*]

您想使用 ArrayList<Block> 的事实实现多值是一个实现细节。它不属于 UML 图表。 (在我看来。)

但是还有(可能的)第三种选择。添加Block将您的 UML 图作为一个类,并使用关联对关系建模。

关于java - 如何在 UML 中表示 Java 集合值属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60471783/

相关文章:

java - 如何检查NoClassDefFoundError?

java - Java 实现与 UML 规范关于接口(interface)和抽象类的区别

java - 没有链接的类图

java - 没有新类/方法的更改的类图?

java - 从类扩展的泛型到底是什么意思?

java - 如何从游标中删除唯一值

UML 类图 - 使用枚举进行建模

java - 解释以下 CMD 脚本中的一些行以启动 Topcoder UML 工具

java - UML 图中的私有(private)嵌套 Java 类

java - 减少相同异常的记录