抽象类和构造函数问题以及此UML图

时间:2017-10-11 01:24:08

标签: java inheritance constructor uml abstract-class

所以我必须使用这个UML图构建一些类。

enter image description here

我和Circle和Square有问题。

我知道Circle继承自Ellipse,后者继承自Shape。我知道当你使用子类型的构造函数时,正文中的第一行应该是super()。

我不明白的是我应该如何使用我的图表来做到这一点。我不知道double r的去向,当Ellipse或Shape中没有构造函数只接受这两个参数时,我不知道如何调用super(x,y)。 与广场相同的想法。

当我完全遵循UML时,我会遇到构造函数错误。

1 个答案:

答案 0 :(得分:2)

圆是一个椭圆,在同一位置有两个焦点,即它只由一个半径定义。所以如果你的圈子构造函数是:

Circle(double x, double y, double r)

需要使用:

调用椭圆构造函数
super(x, y, r, r)

方形和矩形相同。