该软件包外观图标在此UML图中意味着什么?

时间:2018-10-22 11:05:22

标签: java constructor uml

我从netbeans那里得到了这个图,我不知道软件包外观图标和Tetrahedron(int a)处的“〜”是什么意思

enter image description here

3 个答案:

答案 0 :(得分:2)

这些是可见性指示器。 UML 2.5规范中的第118页(及其他):

  

input{ -webkit-appearance: none; }

P。 246:

  

packagedElement的可见性可以通过在名称之前添加可见性符号来表示(“ +”表示公共,“-”表示私有)。程序包可能没有保护或程序包可见性。

并在P 167上:

enter image description here

有趣的是,没有任何地方所有符号都与其含义相关。因此,您只需按照图中<visibility> is the visibility of the Operation (see 7.4). <visibility> ::= ‘+’ | ‘-‘ | ‘#’ | ‘~’protected和package为#的顺序“猜测”它即可。

图形装饰是工具创建者的发明,而不是UML标准。框图标可能用于操作,而球则用于属性(加上我无法猜到的一些额外花招;看起来像是常数属性的键?)。名称附近的图标顶部可能是从构造型派生的,但是我想这只是您在工具手册中找到的内容。从UML的角度看不一定是错误的,但是,正如您所遇到的那样,只是令人困惑。

答案 1 :(得分:1)

留在波浪号(~)上的符号不是UML语言的一部分。它是由您用于创建/查看图表的软件添加的。

波浪号本身代表UML中的package private可见性,我想这就是试图可视化的图标。

当构造函数为包私有时,只能由同一包中的类访问。

类似地,+的“ public visibility”符号旁边的红色圆圈和“ #”的符号旁边带有键的红色圆圈(对于protected visibility )似乎在视觉上代表了成员的可见性。

答案 2 :(得分:1)

〜表示构造函数对程序包级别的访问,抱歉,不确定图标的含义。