015-001-009
ポリモーフィズム:メソッドのオーバーライド
中級
問題説明
ポリモーフィズム:メソッドのオーバーライド
この問題では: Animal・Dog・Catクラスを作成し、makeSound()メソッドをオーバーライドすることで、同じメソッド呼び出しから異なる動物の鳴き声を出力するプログラムを作成します。
学習目標: 親クラスのメソッドをサブクラスでオーバーライドし、同じメソッド呼び出しで異なる動作を実現する方法を理解する
概要
ポリモーフィズム(多態性)では、親クラス型の変数でサブクラスのオブジェクトを参照できます。オーバーライドされたメソッドを呼び出すと、実際のオブジェクト型に応じた動作が実行されます。
仕様
以下のクラスを作成してください:
Animalクラス:
makeSound()メソッド: "Some sound"と出力
Dogクラス (Animalを継承):
makeSound()をオーバーライド: "Woof!"と出力
Catクラス (Animalを継承):
makeSound()をオーバーライド: "Meow!"と出力
Mainクラス:
- Animal型の変数に各オブジェクトを代入
- 各変数の
makeSound()を呼び出し
出力形式
Some sound
Woof!
Meow!
テストケース例
※ 出力例はプログラミングの国際標準に準拠し英語で表示しています
正常系
入力:
期待される出力:
Some sound Woof! Meow!
異常系
入力:
期待される出力:
Some sound Woof! Meow!
❌ テストに失敗したケースがあります
あなたの解答
現在のモード:● 自分のコード
Animal.java🔒
Dog.java🔒
Cat.java🔒
Main.java🔒
4/6 ファイル198B
⚠️警告
- mainメソッドが見つかりません
9
1
2
3
›
⌄
// === Animal.java ===
public class Animal {
}
0 B / 5 MB
残り 9 回実行可能
