014-001-010

メソッドのオーバーライド

中級

問題説明

メソッドオーバーライド

この問題では: AnimalクラスをCatクラスで継承し、speak()メソッドオーバーライドして異なる出力を行い、結果を標準出力に表示するプログラムを作成します。

学習目標: 子クラスで親クラスのメソッドオーバーライドする方法を理解する

概要

オーバーライドとは、子クラスで親クラスのメソッドを再定義することです。同じメソッド名・引数・戻り値型で、異なる処理を実装できます。

入力

標準入力から猫の名前を1行で読み込みます。

名前

仕様

  1. Animalクラスにspeak()メソッドを定義し、"Animal speaks"と出力する
  2. CatクラスをAnimalクラスから継承して作成する
  3. Catクラスはコンストラクタで名前(String型)を受け取りフィールドに保存する
  4. Catクラスでspeak()メソッドオーバーライドし、"Meow! I'm [名前]"と出力する
  5. MainクラスでScannerを使って名前を読み込み、AnimalとCatの両方のインスタンスを作成し、それぞれspeak()を呼び出す

出力形式

Animal speaks
Meow! I'm [名前]

入出力例

入力:

Tom

出力:

Animal speaks
Meow! I'm Tom

コードを実行してみませんか?

この問題のコードエディタと実行機能を使用するには、ログインしてください。

アカウントをお持ちでない方

新規登録