018 オブジェクト指向の深化(ポリモーフィズムの応用) 007 問題

問題

抽象クラス Shape があり、それを継承した Circle と Rectangle クラスがあります。
Shape クラスには calculateArea メソッドがあり、各サブクラスはこのメソッドをオーバーライドして面積を計算します。
main メソッドで、異なる形状(円と長方形)の面積を計算して表示するプログラムを作成してください。

ヒント

  1. Shape クラスの作成:
    • Shape クラスを作成し、抽象メソッド calculateArea を定義します。
  2. Circle クラスの作成:
    • Circle クラスを作成し、Shape クラスを継承します。
    • calculateArea メソッドをオーバーライドして円の面積を計算します。
  3. Rectangle クラスの作成:
    • Rectangle クラスを作成し、Shape クラスを継承します。
    • calculateArea メソッドをオーバーライドして長方形の面積を計算します。
  4. Main メソッドの作成:
    • main メソッドを作成し、異なる形状(円と長方形)のインスタンスを生成します。
    • それぞれのインスタンスの calculateArea メソッドを呼び出して面積を計算します。
    • 結果を表示します。

この手順に従うと、Shape クラスとそのサブクラス Circle と Rectangle を使用して、異なる形状の面積を計算するプログラムを作成できます。

→解答例