015-002-006
ポリモーフィズム:配列での管理
中級
問題説明
ポリモーフィズム:配列での管理
この問題では: 標準入力から動物の数と種類を読み込み、Animal型の配列にDogとCatオブジェクトを格納し、ポリモーフィズムを活用してそれぞれのmakeSound()メソッドを呼び出し、結果を標準出力に表示するプログラムを作成します。
学習目標: 親クラス型の配列で異なるサブクラスのオブジェクトを動的に管理する方法を理解する
概要
動物(Animal)クラスを継承した犬(Dog)と猫(Cat)クラスがあります。入力から動物の種類を読み込み、Animal型の配列に格納して、それぞれの鳴き声を出力してください。
仕様
- Animalクラス:
makeSound()メソッド(空実装) - Dogクラス:
makeSound()で「Woof!」を出力 - Catクラス:
makeSound()で「Meow!」を出力 - 入力から動物の数Nと各動物の種類("Dog" または "Cat")を読み込む
- Animal型配列に対応するオブジェクトを格納
- ループで全動物の
makeSound()を呼び出す
入力形式
N
種類1
種類2
...
種類N
- 1行目: 動物の数 N
- 2行目以降: 各動物の種類("Dog" または "Cat")
出力形式
各動物の鳴き声を1行ずつ出力します。
入出力例
入力:
2
Dog
Cat
出力:
Woof!
Meow!
