你如何在 UML class 图中显示封装?

How do you show encapsulation in UML class diagram?

我的问题很简单。在对 UML class 图建模时如何表示或显示封装?继承是使用箭头建模的,抽象 class 是通过斜体或在以下箭头之间显示 class 名称来显示的,如所示,<< Animals >> 但是你为封装做了什么?

class 的每个功能都可以具有可见性。私有特性使得封装实例的状态成为可能。私有功能的符号是其名称前面的 - 符号(+ 表示 public,# 表示受保护,~ 表示包可见性。

PS: 摘要 class 没有用“箭头”显示。相反,它显示为大括号中的单词 {abstract}(或者如您正确地用斜体书写名称)。

PPS: “箭头”(<<...>>) 不是 UML 表示法。您可能是指 guillemets:«...»。它们用于注释 language 元素,这些元素没有明确的符号,例如数据类型。在这种情况下,关键字 «dataType» 显示在名称上方。它们也可以是语言元素的 属性 的符号。例如 Activity 和 isSingleExecution=true 将显示关键字 «singleExecution»。为什么这种情况下没有用大括号表示,就像 isAbstract=true 的情况一样笼罩在神秘之中。最后,它们用于用户定义的语言元素(=刻板印象)。请注意,此类元素比模型元素高一级,即在语言级别(也称为元级别)。因此,它们不会在建模系统的级别上表达任何内容。原型 «Animals» 定义了一个新的语言元素,但不是动物。