問題
- ジオメトリック図形の描画プログラムを設計してください。
- Drawable(インターフェイス)
- メソッド: draw()(図形を描画する)
- Circle(円)
- メンバー変数: 中心座標、半径
- Rectangle(長方形)
- メンバー変数: 左上の座標、幅、高さ
- DrawingBoard(描画ボード)
- メソッド: addShape(Drawable shape)(図形を描画ボードに追加する)
- Drawable(インターフェイス)
ヒント
- Drawable インターフェイス:
Drawable
インターフェイスは、draw()
メソッドを定義します。- このインターフェイスを実装するクラスは、
draw
メソッドによって自身を描画できるようになります。
- Circle クラス:
Circle
クラスはDrawable
インターフェイスを実装します。- メンバー変数として中心座標と半径を持ちます。
draw
メソッドを実装して円を描画する処理を提供します。
- Rectangle クラス:
Rectangle
クラスはDrawable
インターフェイスを実装します。- メンバー変数として左上の座標、幅、高さを持ちます。
draw
メソッドを実装して長方形を描画する処理を提供します。
- DrawingBoard クラス:
DrawingBoard
クラスは、描画ボード上に図形を管理するクラスです。addShape
メソッドを提供して、描画ボードに図形を追加できるようにします。- 描画ボード内で管理される各図形は
Drawable
インターフェイスを実装している必要があります。
この設計により、Circle
クラスと Rectangle
クラスが共通の描画機能を提供し、それらを DrawingBoard
クラスが管理できるようになります。新しいジオメトリック図形を追加する場合は、Drawable
インターフェイスを実装するだけで描画ボードに追加できます。
→解答例