类可见性是对象设计的重要部分。我没有看到任何示例图表显示几个UML书籍中的非公开类,也没有看到在Enterprise Architect中显示类可见性的方法,以及其他工具。 Enterprise Architect和其他工具允许您在元模型中设置类可见性,但我还没有看到在图中显示它的方法。
答案 0 :(得分:1)
根据UML规范v2.5 beta 2,不仅NamedElement而且PackageableElement具有VisibilityKind类型的Visibility属性
来自p48:
PackageableElement [抽象类]
... [剪断] ..
属性
- visibility:VisibilityKind [0..1] = public如果PackageableElement由Namespace拥有,则必须具有指定的可见性。默认的可见性是公开的。
约束
- namespace_needs_visibility 命名空间拥有的PackageableElement必须具有可见性。 inv:visibility = null意味着namespace = null
我还没有找到任何关于这种可见性的符号指南
答案 1 :(得分:0)
在Eclipse中,您可以在图标中看到它。我的意思是你有一个绿色的类图标,如果是私有的,那么一个p放在顶部。 如果选择该选项,则此图标在类图中也可见。 希望这有帮助。
答案 2 :(得分:0)
UML支持以编程语言中立的方式进行可见性,包括元模型和表示。
在各个地方都有一个名为VisbilityKind的枚举(参见UML 2.3 superstructure spec第7.3.5.5节p142)。
在类图上,有各种方法来说明可见性。最常见的是使用“ - ”表示私有功能,使用“+”代表公共功能。例如:
----------------------------
| Class |
|--------------------------|
| +publicAttribute: Type |
| -privateAttribute: Type |
|--------------------------|
| +publicMethod() |
| -privateMethod() |
----------------------------
有关更多示例,请参阅the spec第52页的图7.28 / 7.29。
第h
答案 3 :(得分:0)
答案 4 :(得分:0)
我刚刚在UML 2.4.1基础架构中查找了它。见图10.3。 95你看到Class被定义为一个Type,它是一个NamedElement,它是一个Element。使用可见性包,NamedElement具有第9页的9.21.1中定义的可见性。 88,如果它属于命名空间。如果您有可见性,那么Class就具有可见性。您可以使用带有+ - #和〜的常用符号(第89页)。
VisualParadigm可以做到这一点。