問題
以下の形状(Shape)に関するクラス階層を作成してください。
- Shape(抽象クラス)
- メソッド:
getArea()(面積を計算して返す) - メソッド:
getPerimeter()(周囲の長さを計算して返す)
- メソッド:
- Circle(円)
- メンバー変数: 半径
- Rectangle(長方形)
- メンバー変数: 幅、高さ
- Triangle(三角形)
- メンバー変数: 辺の長さ(3辺)
ヒント
- Shape(抽象クラス)
- 抽象クラスとして、共通のメソッド
getArea()とgetPerimeter()を定義します。
- 抽象クラスとして、共通のメソッド
- Circle(円)
Circleクラスを作成します。CircleクラスはShapeクラスを拡張(継承)します。Circleクラスには、メンバー変数として半径を持ちます。
- Rectangle(長方形)
Rectangleクラスを作成します。RectangleクラスはShapeクラスを拡張します。Rectangleクラスには、メンバー変数として幅と高さを持ちます。
- Triangle(三角形)
Triangleクラスを作成します。TriangleクラスはShapeクラスを拡張します。Triangleクラスには、メンバー変数として辺の長さ(3辺)を持ちます。
これにより、Shape クラスを継承する Circle、Rectangle、Triangle の3つの具象クラスができます。各クラスは自身の特有の属性(メンバー変数)を持ち、共通のメソッドを抽象クラス Shape から継承しています。これによって、異なる形状のオブジェクトが共通のインターフェースを提供するクラス階層が構築されます。
→解答例


