問題
- ジオメトリック図形の描画プログラムを設計してください。
- 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 インターフェイスを実装するだけで描画ボードに追加できます。
→解答例


