UML图如何画超级构造器传递参数
How to draw UML diagrams passing parameters through super constructor
我有一个名为 A 的 superclass 和一个继承自 A 的名为 B 的 subclass。superclass 的构造函数如下所示:
A(String name, char displayChar, int hitPoints, Behaviour behaviour)
{
this.name = name;
this.displayChar = displayChar;
this.hitPoints = hitPoints
addBehaviour(behaviour);
}
A 具有 name、displayChar、hitPoints、behavior 等属性,并且具有调用 addBehaviour 的方法,该方法将行为添加到对象。
子class,B的构造函数是这样的:
B(String name) {super(name, char 'b', 10, new WalkBehaviour()); }
现在我的问题是,subclass B 是否具有 WalkBehaviour 属性?
对于这种情况,UML 图会是什么样子?我知道 B 继承自 A 并且 A 具有 Behavior 但在这种情况下 B 具有 WalkBehaviour 吗?由于 B 在其 class 中没有 WalkBehaviour 类型的实例变量,而是仅通过其超级class 的构造函数传递 WalkBehaviour。
does subclass B have an attribute of WalkBehaviour?
没有。有 none 声明。 superclass 将对该新对象做一些事情,但显然它隐藏在其实现的迷雾中。
继承与创建多个对象无关。您的 B
实例只是一个具有属性和操作的实例 就像 它的超级 class。
因此,在 SD 中,您只会看到 B
的一条生命线:
如您所见,B
实例将向超级 class 的构造函数发出自我调用。
注意:正如@AxelScheithauer 在评论中指出的那样,超级 class 将调用 addBehavior
,它可以(但不能)显示在 SD 中:
我有一个名为 A 的 superclass 和一个继承自 A 的名为 B 的 subclass。superclass 的构造函数如下所示:
A(String name, char displayChar, int hitPoints, Behaviour behaviour)
{
this.name = name;
this.displayChar = displayChar;
this.hitPoints = hitPoints
addBehaviour(behaviour);
}
A 具有 name、displayChar、hitPoints、behavior 等属性,并且具有调用 addBehaviour 的方法,该方法将行为添加到对象。
子class,B的构造函数是这样的:
B(String name) {super(name, char 'b', 10, new WalkBehaviour()); }
现在我的问题是,subclass B 是否具有 WalkBehaviour 属性?
对于这种情况,UML 图会是什么样子?我知道 B 继承自 A 并且 A 具有 Behavior 但在这种情况下 B 具有 WalkBehaviour 吗?由于 B 在其 class 中没有 WalkBehaviour 类型的实例变量,而是仅通过其超级class 的构造函数传递 WalkBehaviour。
does subclass B have an attribute of WalkBehaviour?
没有。有 none 声明。 superclass 将对该新对象做一些事情,但显然它隐藏在其实现的迷雾中。
继承与创建多个对象无关。您的 B
实例只是一个具有属性和操作的实例 就像 它的超级 class。
因此,在 SD 中,您只会看到 B
的一条生命线:
如您所见,B
实例将向超级 class 的构造函数发出自我调用。
注意:正如@AxelScheithauer 在评论中指出的那样,超级 class 将调用 addBehavior
,它可以(但不能)显示在 SD 中: