2017-10-11 1 views
1

私はこのUML図を使用していくつかのクラスを構築する必要があります。抽象クラスとコンストラクタの問題とこのUML図

enter image description here

私はサークルや広場に問題があるんです。

サークルはShapeを継承するEllipseから継承することを理解しています。私は、サブタイプのコンストラクタを使用するとき、本体の最初の行はsuper()でなければならないことを理解しています。

私が理解できないことは、私がどのように私のダイアグラムでこれを行うことになっているかです。私はdouble rがどこに行くのか分かりません。楕円形やShapeのコンストラクタがないときにsuper(x、y)を呼び出す方法はわかりません。 正方形で同じアイデア。

私はUMLに正確に従うと、コンストラクタエラーが発生します。

+0

ここにコードを表示してください。エラーがあります –

+2

この図は間違っています。 「関連」(白抜きの三角形)は一般化(閉じられた非三角形)である必要があります。 –

答えて

2

円は、両方の焦点が同じ位置にある楕円です。つまり、1つの半径だけで定義されます。だからあなたのサークルのコンストラクタは、ある場合:四角と長方形と同じ

super(x, y, r, r) 

Circle(double x, double y, double r) 

あなたの必要性がで楕円のコンストラクタを呼び出すこと。