类的可见性是对象设计的重要组成部分。在几本UML书籍中,我没有看到任何展示非公共类的示例图表,也没有看到在Enterprise Architect等工具中展示类可见性的方式。虽然Enterprise Architect和其他工具允许您在元模型中设置类的可见性,但我还没有看到一种在图表中显示它的方法。
类的可见性是对象设计的重要组成部分。在几本UML书籍中,我没有看到任何展示非公共类的示例图表,也没有看到在Enterprise Architect等工具中展示类可见性的方式。虽然Enterprise Architect和其他工具允许您在元模型中设置类的可见性,但我还没有看到一种在图表中显示它的方法。
UML以一种与编程语言无关的方式支持可见性,无论是在元模型中还是在表示中。
有一个名为VisbilityKind的枚举类型,在各个地方都被使用(参见UML 2.3超结构规范第7.3.5.5节第142页)。
在类图中,有多种方式来表示可见性。最常见的是使用“-”表示私有特性,“+”表示公有特性。例如:
----------------------------
| Class |
|--------------------------|
| +publicAttribute: Type |
| -privateAttribute: Type |
|--------------------------|
| +publicMethod() |
| -privateMethod() |
----------------------------
请参考规范第52页的图7.28 / 7.29以获取更多示例。
希望对您有所帮助。
我刚在UML 2.4.1基础设施中查阅了一下。在第95页的图10.3中,您可以看到类被定义为类型,该类型是命名元素,而命名元素又是元素。使用可见性包,如果命名元素属于命名空间,则具有在第88页9.21.1中定义的可见性。因此,如果您拥有可见性,则类具有可见性。您可以使用+ -#和〜(第89页)的常规符号。
VisualParadigm可以做到这一点。
decoration X
{
if(hasproperty("scope","public"))
print("P");
}
这将在公共类的左上角打印一个 P。但是,您也可以使用图标。
不幸的是,我找不到一种将形状脚本分配给默认非构造化类的方法。有人知道如何做吗?