gpt4 book ai didi

java - 具有属性的 UML 建模枚举

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:24:08 32 4
gpt4 key购买 nike

我想用具有一个或多个属性的 Java 枚举 (enum) 创建一个 UML 图,但我对如何做感到困惑。

例如,枚举可以这样声明:

public enum Enumeration_type {

LITERAL_A("attr1_value", attr2_value, attr3_value),
LITERAL_B("attr1_value", attr2_value, attr3_value);

final String attr1;
final type_1 attr2 = initial_value_1;
final type_2 attr3;

Enumeration_type(String attr1, type_1 attr2, type_2 attr3) {
this.attr1_value = attr1;
this.attr2_value = attr2;
this.attr3_value = attr3;
}
}

没有属性,很简单:

+--------------------+
| <<enumeration> |
| Enumeration_type |
+--------------------+
| LITERAL_A |
| LITERAL_B |
+--------------------+

但是如何使用属性优雅地对其进行建模呢?应该是这样吗?

+-----------------------------------------------------+
| <<enumeration>> |
| Enumeration_type |
+-----------------------------------------------------+
| attr1: String |
| attr2: type_1 = initial_value_1 |
| attr2: type_2 |
+-----------------------------------------------------+
| LITERAL_A("attr1_value", attr2_value, attr3_value) |
| LITERAL_B("attr1_value", attr2_value, attr3_value) |
+-----------------------------------------------------+

我只找到这个例子here ,但它使用 String 类属性作为枚举名称。我认为,这应该不同于在未指定枚举名称数据类型的情况下使用 public enum

+-----------------------------------------+
| <<enumeration>> |
| CarType |
+-----------------------------------------+
| +sedan : String = SEDAN |
| +liftback : String = LIFTBACK |
| +stationWagon : String = STATION_WAGON |
+-----------------------------------------+

最佳答案

我认为您无法在 UML 中为每个枚举文字的属性值建模。
EA 使用以下符号表示具有属性的枚举:

enter image description here

您可以在每个文字的注释中的某处记录属性值,或者您可以使用 excel 文件或类似文件来管理该数据。
通常您只需要在设计时提供初始值,因为它们可能会在运行时发生变化。因此,如果您不相信这些值是正确的,那么将这些值保留在您的模型中就没有多大用处。

关于java - 具有属性的 UML 建模枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37159109/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com