我想用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) |
+-----------------------------------------------------+
我只找到了这个示例这里,但它使用String类属性作为枚举名称。我认为,这应该不同于使用public enum
而不指定枚举名称数据类型。
+-----------------------------------------+
| <<enumeration>> |
| CarType |
+-----------------------------------------+
| +sedan : String = SEDAN |
| +liftback : String = LIFTBACK |
| +stationWagon : String = STATION_WAGON |
+-----------------------------------------+
发布于 2016-05-13 11:01:01
我认为您不能为UML中的每个枚举文本建模属性值。
EA对具有属性的枚举使用以下表示法:
您可以在每个文字的注释中记录属性值,也可以使用excel文件或类似的东西来管理该数据。
通常,您只需要在设计时提供初始值,因为它们在运行时可能会更改。因此,如果您不能相信这些值是正确的,那么在您的模型中保留这些值是没有多大用处的。
发布于 2016-05-19 07:01:10
https://stackoverflow.com/questions/37159109
复制相似问题