014-003-009

superによるコンストラクタ呼び出し

初級

問題説明

superによるコンストラクタ呼び出し

この問題では: AnimalクラスとDogクラスを作成し、Dogコンストラクタからsuper()を使って親クラスのコンストラクタを明示的に呼び出すプログラムを作成します。

学習目標: 継承におけるsuper()キーワードを使った親クラスのコンストラクタ呼び出しの仕組みを理解する

概要

サブクラスのコンストラクタでは、super()を使って親クラスのコンストラクタを明示的に呼び出すことができます。これにより、親クラスで定義されたフィールドの初期化を親クラスに委譲できます。

仕様

Animalクラス

  • String nameint ageフィールドを持つ
  • コンストラクタAnimal(String name, int age)で両方のフィールドを初期化する
  • showInfo()メソッドで"Name: <name>, Age: <age>"を出力する

Dogクラス(Animalを継承)

  • String breedフィールドを追加する
  • コンストラクタDog(String name, int age, String breed)super(name, age)を呼び出し、breedを初期化する
  • showInfo()をオーバーライドし、super.showInfo()を呼んだ後に"Breed: <breed>"を出力する

Mainクラス

  • Dogオブジェクトをnew Dog("Pochi", 3, "Shiba")で作成する
  • showInfo()を呼び出す

出力形式

Name: Pochi, Age: 3
Breed: Shiba

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

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

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

新規登録