015-002-008

アップキャストでポリモーフィズムを実現する

初級

問題説明

アップキャストでポリモーフィズムを実現する

この問題では: アップキャストを使ってAnimal型変数にDogとCatオブジェクトを代入し、同じspeak()メソッド呼び出しでサブクラスごとに異なる出力を得るプログラムを作成します。

学習目標: アップキャスト(サブクラスをスーパークラス型で扱う)の基本を理解する

概要

Animal型の変数にDogとCatオブジェクトを代入し、同じメソッド呼び出しで異なる動作をするプログラムを作成してください。

仕様

  1. Animal クラスvoid speak() メソッドを定義(... と出力)
  2. Dog クラスがAnimalを継承し、speak()を Woof!オーバーライド
  3. Cat クラスがAnimalを継承し、speak()を Meow! にオーバーライド
  4. mainでAnimal型変数にDogとCatを代入し、speak()を呼ぶ

出力形式

Woof!
Meow!

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

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

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

新規登録