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

問題

抽象クラス Animal があり、それを継承した Dog と Cat クラスがあります。
Animal クラスには makeSound メソッドがあり、各サブクラスはこのメソッドをオーバーライドして鳴き声を返します。
main メソッドで、異なる動物の鳴き声を表示するプログラムを作成してください。

ヒント

  1. Animal クラスの作成:
    • Animal クラスを抽象クラスとして定義します。
    • makeSound メソッドを抽象メソッドとして宣言します。
  2. Dog クラスの作成:
    • Dog クラスを作成し、Animal クラスを継承します。
    • makeSound メソッドをオーバーライドして、犬の鳴き声を返します。
  3. Cat クラスの作成:
    • Cat クラスを作成し、Animal クラスを継承します。
    • makeSound メソッドをオーバーライドして、猫の鳴き声を返します。
  4. Main メソッドの作成:
    • main メソッドを作成し、異なる動物のインスタンスを生成します。
    • それぞれのインスタンスの makeSound メソッドを呼び出して、動物の鳴き声を表示します。

これらの手順に従ってプログラムを組み立ててみてください。各クラスでのメソッドのオーバーライドと、main メソッドでの適切なオブジェクトの生成とメソッドの呼び出しに注目してください。

→解答例