在序列图中调用super()

时间:2013-07-14 17:15:58

标签: uml sequence diagram

如何在序列图中表示super()调用?我创建了一个类“Bar”,它是“Foo”的子类。在创建此类Bar时,将调用Foo的默认构造函数。你如何在序列图中绘制它?

1 个答案:

答案 0 :(得分:0)

超级调用表示对超类的某些方法的调用,因此如果类A从类B扩展,则:

class A extends B{
    public A (){
        super();
    }
}

class B {
    public B (){
        ...
    }
}

你必须在运行时考虑这些类,所以例如你有一个来自A类的对象a,这个对象由两个类表示,因为类A扩展了B类。

在这种情况下,我会用超类B的构造函数做一个图,所以我可以将这个图链接到我代表A类构造函数的图中。

由于对超类构造函数的调用引用了同一个对象而不是另一个对象,因此消息箭头应该是一个自我消息,在该消息中它调用超类B的构造函数。

另外为了使事情更清楚,我会添加超级电话的代码。

更具图形性的应该是这个。

Sequence Diagram for class A

对于B班

Sequence Diagram for class B

PD。我使用Enterprise Architect软件来绘制图表。

相关问题