|
UML中的可见性 |
原文作者:Kirill
Fakhroutdinov 译者:火龙果Anna |
6098 次浏览 |
15次 |
|
|
可见性允许在命名空间或访问元素时限制命名元素的使用。它用于类、包、泛化、元素导入、包导入。
UML具有以下类型的可见性:
- public(公用的 )
- package(包 )
- protected(受保护)
- private(私有的 )
注意,如果命名元素不属于任何命名空间,那么它就没有可见性。
公共元素对所有可以访问拥有它的命名空间内容的元素都是可见的。公共可见性由“+”文字表示。
包元素由非包的命名空间拥有,并且对与其拥有的命名空间在同一包中的元素可见。只有不属于包的命名元素才能标记为具有包可见性。标记为具有包可见性的任何元素对于最近的封闭包中的所有元素都是可见的(假定其他拥有元素具有适当的可见性)。在最近的封闭包外部,标记为具有包可见性的元素不可见。包可见性由“~”文字表示。
包元素由不是包的命名空间所拥有,并且对与其所属命名空间位于同一包中的元素可见。只有未被包拥有的命名元素才能被标记为具有包可见性。标记为具有包可见性的任何元素对最近的封闭包中的所有元素都可见(假定其他所属元素具有适当的可见性)。在最近的封闭包外部,标记为具有包可见性的元素不可见。包可见性由“~”文本表示。
受保护的元素对与拥有它的命名空间有泛化关系的元素可见。受保护的可见性由“#”文字表示。
私有元素仅在拥有它的命名空间内可见。私有可见性由“-”文字表示。
操作executequery是公共的,受ispoolable保护,
getQueryTimeout-具有包可见性,而clearWarnings是私有的。
如果某个命名元素看起来有多个可见性,例如,通过多次导入,公共可见性会覆盖私有可见性。如果一个元素被两次导入到同一个命名空间中,一次使用公共导入,另一次使用私有导入,则结果可见性是公共的。
|
6098 次浏览 |
15次 |
|
|
|
|
|
|