014-001-010
メソッドのオーバーライド
中級
問題説明
メソッドのオーバーライド
この問題では: AnimalクラスをCatクラスで継承し、speak()メソッドをオーバーライドして異なる出力を行い、結果を標準出力に表示するプログラムを作成します。
学習目標: 子クラスで親クラスのメソッドをオーバーライドする方法を理解する
概要
オーバーライドとは、子クラスで親クラスのメソッドを再定義することです。同じメソッド名・引数・戻り値型で、異なる処理を実装できます。
入力
標準入力から猫の名前を1行で読み込みます。
名前
仕様
- Animalクラスにspeak()メソッドを定義し、"Animal speaks"と出力する
- CatクラスをAnimalクラスから継承して作成する
- Catクラスはコンストラクタで名前(String型)を受け取りフィールドに保存する
- Catクラスでspeak()メソッドをオーバーライドし、"Meow! I'm [名前]"と出力する
- MainクラスでScannerを使って名前を読み込み、AnimalとCatの両方のインスタンスを作成し、それぞれspeak()を呼び出す
出力形式
Animal speaks
Meow! I'm [名前]
入出力例
入力:
Tom
出力:
Animal speaks
Meow! I'm Tom
