UML、C++、Java中的符号

Symbols in UML, C++, Java

本文关键字:符号 Java C++ UML      更新时间:2023-10-16

在Java中,我们有一些修饰符:protectedpublicprivate。在UML中,它们分别是#+-

我的问题是,~符号在UML中是什么意思?它在Java、C++中有什么意义吗?

意思是package visibility,相当于Java中的默认访问权限。C++中没有模拟。

可见性类型的UML含义在UML上层结构文档中的VisibilityKind类的描述中给出(当前v2.4.1文档中的7.3.56节可在http://www.omg.org/spec/UML/2.4.1)。

包访问~

包元素由不是包的命名空间所有,并且对于与其所属包在同一包中的元素可见命名空间。只有不属于包的命名元素才能标记为具有包可见性。任何标记为具有程序包可见性对于最近的封装包(假定其他拥有的元素具有适当的可见性)。在最近的封装外,标记有元素因为具有包可见性是不可见的。

这与Java中的默认包访问相同(正如Alexander所说),但请注意,UML保护的访问#而不是,因为在Java中,和子类都可以访问protected(例如,请参阅此问题)。UML的定义是

受保护的元素对具有通用性的元素可见与拥有它的命名空间的关系。

关键原理是UML概念是独立于语言的,尽管它们显然是为了与实际编程语言中的思想相关而设计的。