【问题标题】:UML Representing an anonymous class in class diagram?UML 在类图中表示一个匿名类?
【发布时间】:2012-07-28 22:14:23
【问题描述】:

如何在 UML 类图中表示 Java 匿名类?

【问题讨论】:

  • stackoverflow.com/a/676092/583592 也许这会有所帮助,因为此答案显示了 Java 的示例。
  • @KevinJalbert,很好,发帖后看到了。显然这个问题有一个单一的来源参考:)

标签: java oop uml


【解决方案1】:

内部(嵌套)类在 UML 中通过关联表示 装饰有一个交叉的圆圈。

插图:

来源:

【讨论】:

  • 该链接甚至包含发帖者询问的anonymous 内部类的具体信息,参见。 stackoverflow.com/a/676092/583592.
  • 远远不够。而且还达不到标准。您在这里展示的是匿名类的包含关系,没有其他关系。
【解决方案2】:

Java 中有两个真正匿名的类 首先是未命名的内部类。如:

class BGThread<T>{...}
...
class TitleEditDlg{
    new BGThread<Props>(cont, true) {
        @Override
        public Props run() {
            ...
        }
    }
 }

引用 UML 标准 2.5 (p.149):

匿名 InstanceSpecification 的标准符号 未命名的分类器是带下划线的冒号 (‘:’)。

因此,对于匿名 java 类,您应该创建一个仅以 : 作为名称的类块,并将容器类连接到它两次 - 通过容器关系和不带点的单向箭头。另一方面,: 块应该连接到父类。


根据同一来源,Anonymous Bound Class,这是我们在 Java 中遇到的第二个匿名类,但当您使用模板/泛型类时,通常不会注意到它,如

class BGThread<T>{...}
...
class TitleEditDlg{
   BGThread<String> newThread= new BGThread<String>();
}    

可以通过两种方式显示:

  • 作为bind 依赖项,对其进行替换。
  • 作为中间类,带有父类的名称并替换在尖括号中。注意,这里的类是匿名的,但属性有一个名字。因此,这样您可以显示更多信息。

【讨论】:

    【解决方案3】:

    我正在寻找一种在类图中表示 JavaScript 对象字面量的方法(我知道这没有多大意义……),我找到了这篇文章。

    我会为此链接和图片做出贡献。 咻。

    http://www.uml-diagrams.org/class-diagrams.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多