如何在序列图中表示super()调用?我创建了一个类“Bar”,它是“Foo”的子类。在创建此类Bar时,将调用Foo的默认构造函数。你如何在序列图中绘制它?
答案 0 :(得分:0)
超级调用表示对超类的某些方法的调用,因此如果类A从类B扩展,则:
class A extends B{
public A (){
super();
}
}
和
class B {
public B (){
...
}
}
你必须在运行时考虑这些类,所以例如你有一个来自A类的对象a,这个对象由两个类表示,因为类A扩展了B类。
在这种情况下,我会用超类B的构造函数做一个图,所以我可以将这个图链接到我代表A类构造函数的图中。
由于对超类构造函数的调用引用了同一个对象而不是另一个对象,因此消息箭头应该是一个自我消息,在该消息中它调用超类B的构造函数。
另外为了使事情更清楚,我会添加超级电话的代码。
更具图形性的应该是这个。
对于B班
PD。我使用Enterprise Architect软件来绘制图表。