014-002-006

メソッドオーバーライド:動物の鳴き声

中級

問題説明

メソッドオーバーライド:動物の鳴き声

この問題では: 親クラスAnimal継承したCatDogクラスmakeSound()メソッドオーバーライドし、入力された動物の種類に応じた鳴き声を標準出力に表示するプログラムを作成します。

学習目標: メソッドオーバーライドを使って親クラスの動作を変更する方法を理解する

概要

メソッドオーバーライドは、子クラスで親クラスのメソッドを再定義する仕組みです。これにより、同じメソッド名でも異なる動作を実現できます。

仕様

親クラスAnimalを作成:

  • makeSound()メソッド:"Some sound"を出力

子クラスCatを作成:

  • Animalを継承
  • makeSound()をオーバーライド:"Meow"を出力

子クラスDogを作成:

  • Animalを継承
  • makeSound()をオーバーライド:"Woof"を出力

Mainクラスで:

  • 標準入力から動物の数 n を読み込む
  • 続いて n 行、各行に動物の種類("cat""dog"、または "animal")を読み込む
  • 各動物のインスタンスを生成して makeSound() を呼び出し、鳴き声を出力する

入力形式

n
種類1
種類2
...
  • 1行目: 動物の数 n(1以上)
  • 続く n 行: 動物の種類(catdoganimal のいずれか)

出力形式

入力された順番に各動物の鳴き声を1行ずつ出力します。

(種類1の鳴き声)
(種類2の鳴き声)

入出力例

入力:

2
cat
dog

出力:

Meow
Woof

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

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

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

新規登録