014-006-008

メソッドチェーンでのsuper呼び出し

中級

問題説明

メソッドチェーンでのsuper呼び出し

この問題では: 3階層の継承クラス(Grandparent→Parent→Child)でsuperキーワードを使って親クラスのメソッドを連鎖的に呼び出し、標準入力から読み込んだ各レベルの名前を使って順番にメッセージを表示するプログラムを作成します。

学習目標: 継承階層でsuperを使ったメソッドチェーンを理解する

概要

標準入力から3つの名前を読み込み、3階層のクラス継承で各レベルのメソッドをsuperで呼び出し、処理を積み重ねるプログラムを作成してください。

入力

3行の文字列(Grandparent、Parent、Childクラスに対応する名前)

仕様

  • Grandparentクラスにnameフィールドとコンストラクタ(名前を受け取る)、greet()メソッド("Hello from {name}"を出力)
  • ParentクラスがGrandparentを継承し、コンストラクタで2つの名前を受け取りgreet()をオーバーライド(super.greet()後に"Hello from {parentName}"を出力)
  • ChildクラスがParentを継承し、コンストラクタで3つの名前を受け取りgreet()をオーバーライド(super.greet()後に"Hello from {childName}"を出力)
  • Mainで3つの名前をScannerで読み込み、Childインスタンスのgreet()を呼び出す

入出力例

入力:
Grandparent
Parent
Child

出力:
Hello from Grandparent
Hello from Parent
Hello from Child

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

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

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

新規登録