015-001-006
基本的なポリモーフィズム
初級
問題説明
基本的なポリモーフィズム
この問題では: 標準入力から動物の数と種類を読み取り、Animalクラスを親クラスとしてDogクラスとCatクラスを定義したポリモーフィズムを活用して、Animal型変数から各サブクラスのオーバーライドされたmakeSound()メソッドを呼び出し、結果を標準出力に表示するプログラムを作成します。
学習目標: 親クラス型の変数で子クラスのインスタンスを扱うポリモーフィズムの基礎を理解する
概要
入力された動物の種類に基づいてインスタンスを生成し、親クラス型の変数に代入してオーバーライドされたメソッドが呼ばれることを確認するプログラムを作成してください。
仕様
- AnimalクラスにmakeSound()メソッドを定義("Some sound"を出力)
- DogクラスでAnimalを継承しmakeSound()をオーバーライド("Woof!"を出力)
- CatクラスでAnimalを継承しmakeSound()をオーバーライド("Meow!"を出力)
- Mainで入力に基づいてAnimal型配列を構築し、各要素のmakeSound()を呼び出す
入力形式
N
動物の種類1
動物の種類2
...
- 1行目: 動物の数 N
- 続くN行: 各動物の種類("dog" または "cat")
出力形式
(各動物のmakeSound()の出力をN行)
入出力例
入力:
2
dog
cat
出力:
Woof!
Meow!
