UML图表 - 如何显示FINAL

14

我该如何显示这个字段

private static final int DAMAGE = 3;

在UML图中应该如何表示?

它应该显示为:- DAMAGE : 3: int吗?

2个回答

17
你可以这样展示它。

enter image description here

Private被负号表示。 Static属性用下划线显示。 初始值显示为=<value>。 由于我了解到final表示常量,因此您将应用isConst属性,该属性显示为{readOnly}

另见UML规范第111页:

<property> ::= [<visibility>] [‘/’] <name> [‘:’ <prop-type>] [‘[‘ <multiplicity-range> ‘]’] [‘=’ <default>] [‘{‘ <prop-modifier > [‘,’ <prop-modifier >]* ’}’]

[ details omitted ]


不再相关,但仍然保留:

关于标记值的@granier评论:实际上,UML 2.5不再真正使用标记值。只有3次提到它:

  • 主要是第205页

    就像类一样,构造型可能具有属性,传统上将其称为标记定义。当将构造型应用于模型元素时,属性的值传统上被称为标记值。

因此,“标记值”是一个“古老”的术语,应进一步称为“构造型属性”。


2
@Kilian,标签值还存在吗?我认为它在规范的早期版本中使用过,现在已经变成了构造型属性。另外,EA允许轻松创建构造型,但我猜想要使用构造型,您必须定义一个包含此构造型的配置文件,然后将该配置文件加载到项目中。 - granier
@granier 你说得有道理,我之前没有意识到。我会修改我的回答。 - qwerty_so
我仍然认为您可以随意发明陈规俗套(例如没有命名类的规则)。 这是元分类。 但是再次,规范指出必须存在陈规的概要 p.278 / profile:Profile [1..1] {} - qwerty_so
“有观点”意味着“你有一个好的/有趣的论点”,并非获取SO积分 :-) 谢谢提示! - qwerty_so
@granier 那应该是 Java 的规范,而不是 UML 的规范。 - qwerty_so
显示剩余11条评论

5
"

对于一个Java项目的UML表示,只需编写带下划线的大写字母即可,例如...

"

A constant in a UML class diagram

请注意,此表示法使用Java约定(大写常量)来突出显示它为final,而不是UML注释。这种表示法更直接的UML注释对我的目的来说太长了。

3
搜索 https://www.uml-diagrams.org/class-reference.html 中的“静态”内容,下划线表示静态类型 - Sujay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接