UML类图中的“#”符号是什么意思?


72

我正在阅读《坚果壳算法》(O'Reilly),并在类图中遇到了这个符号。我的猜测是,这意味着该成员受到了保护,但是我想看看是否有人知道这意味着什么。

Answers:


160

它指示类或其他数据类型的受保护成员

- 表示私人

+ 表示公开

# 表示受保护


1
是的,或受保护的“操作”。
贾登2009年

1
可见性指示器可以应用于关联端以及属性和操作。
黑猩猩

我已经看到了一些UML图定义f为最终(函数不能被覆写),underlines静态功能,和italicsa抽象的功能。
伊兹密尔·拉米雷斯

如果您不想要修饰符/符号怎么办?留空吗?
vipin8169

@ vipin8169是的。但是,默认的辅助功能修饰符是特定于语言的。例如,在Visual Basic中,它是public,而internal在C#中。如果您的图没有通过其他方式弄清楚默认的可访问性修饰符是什么,那么最好包含访问修饰符。
Mike Hofer

8

“#”表示可见性。在这种情况下,它指的是受保护的操作[已删除术语“方法”,因为它不那么通用)。


PS:查找此内容的参考是UML 2.0 In Anutshell。桌面快速参考。Dan Pilone,Niel Pitman。奥赖利。
杰登

哦,是的,我的用语不正确。有点草率。Mike Hofer在下面的帖子中使用了“受保护的成员”一词。我认为,如果您想完全准确/不可知,可以说是“受保护的操作”。
贾登2009年

并不想变得狡猾,如果我看起来很抱歉,我深表歉意。事实是,该符号可以应用于属性和操作,因此它的范围要宽一些,我想确保这一点很明确。再次,我为自己似乎发疯表示歉意:这不是我的意图。
Mike Hofer,

别担心。没想到你是。:)干杯
贾登(Jayden),2009年


3

这意味着它是受保护的,对于变量,它将仅在类和继承的类中可见。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.