7

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

4

3 回答 3

21

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

插图:

UML 内部类

来源:

于 2012-07-28T22:25:20.510 回答
3

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

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

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

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

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


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

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

可以通过两种方式显示:

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

在此处输入图像描述

于 2014-02-11T11:49:06.403 回答
0

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

我会为此链接和图像做出贡献。再见。

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

在此处输入图像描述

于 2013-03-27T11:59:07.943 回答