【问题标题】:What does the '#' symbol mean in a UML class diagram?UML 类图中的“#”符号是什么意思?
【发布时间】:2010-09-29 22:02:59
【问题描述】:

我正在阅读 Algorithms in a Nutshell (O'Reilly),并在类图中遇到了这个符号。我的猜测是这意味着该成员受到保护,但我想看看是否有人确切知道这意味着什么。

【问题讨论】:

    标签: uml


    【解决方案1】:

    它表示一个类或其他数据类型的受保护成员

    -表示私有

    +表示公开

    #表示受保护

    【讨论】:

    • 是的,或者受保护的“操作”。
    • 可见性指示器可以应用于关联端以及属性和操作。
    • 我看到一些 UML 图定义了 f 用于 final(不能被覆盖的函数),underlines 用于静态函数,italicsa 用于抽象功能。
    • 如果你不想要修饰符/符号怎么办?就留空吧?
    • @vipin8169 是的。但是,默认的可访问性修饰符是特定于语言的。例如,在 Visual Basic 中为 public,而在 C# 中为 internal。如果您的图表没有明确说明默认的可访问性修饰符是什么,则最好包含访问修饰符符号。
    【解决方案2】:

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

    【讨论】:

    • PS:查找此内容的参考是 UML 2.0 In A Nutshell。桌面快速参考。丹·皮隆,尼尔·皮特曼。奥莱利。
    • 哦,是的,我的术语不准确。有点草率。 Mike Hofer 的以下帖子使用了“受保护成员”一词。我认为,如果您想完全准确/不可知论,您可以说“受保护的操作”。
    • 我并没有刻意刻薄,如果我看起来是的话,我深表歉意。事实上,符号可以应用于属性和操作,所以它的范围更广一些,我想确保这一点很清楚。再次为我的粗鲁道歉:这不是我的意图。
    • 不用担心。没想到你是。 :) 干杯
    【解决方案3】:

    也添加到:

    ~ 表示包私有(或默认)

    【讨论】:

      【解决方案4】:

      这意味着它是受保护的,对于一个变量,它只会在类和继承的类中看到。

      【讨论】:

        【解决方案5】:

        '#' 代表类中属性/方法的可见性“受保护”(类似于 public,private )行为。你可以在uml_basic_notations找到更多相同的内容

        【讨论】:

        • 出色的答案不仅可以回答问题,还可以帮助查看者了解更多信息。谢谢!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-16
        • 2010-09-29
        • 2011-04-18
        • 1970-01-01
        相关资源
        最近更新 更多