摘要 类 和构造函数问题以及此 UML 图

Abstract classes and Constructor issues and this UML diagram

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

我在使用 Circle 和 Square 时遇到了问题。

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

我不明白的是我应该如何用我的图表来做这件事。我不知道 double r 的去向,也不知道当 Ellipse 或 Shape 中没有仅采用这两个参数的构造函数时如何调用 super(x,y) 。 与方形相同的想法。

当我完全按照 UML 时,我遇到了构造函数错误。

圆是两个焦点都在同一位置的椭圆,即它仅由一个半径定义。因此,如果您的圈子构造函数是:

Circle(double x, double y, double r)

您需要调用椭圆构造函数:

super(x, y, r, r)

正方形和长方形同理