014-006-009
superによるメソッド呼び出し
初級
問題説明
superによるメソッド呼び出し
この問題では: PersonクラスとEmployeeクラスを作成し、Employeeのgreet()メソッド内でsuper.greet()を呼び出して親クラスの処理を再利用するプログラムを作成します。
学習目標: オーバーライドしたメソッド内でsuper.メソッド名()を使って親クラスのメソッドを呼び出す方法を理解する
概要
サブクラスでメソッドをオーバーライドした際、親クラスの処理を完全に置き換えるのではなく、親クラスの処理に追加の処理を加えたい場合があります。super.メソッド名()を使うことで、オーバーライドしたメソッド内から親クラスの元のメソッドを呼び出すことができます。
仕様
Personクラス
String nameフィールドを持つ- コンストラクタ
Person(String name)で初期化する greet()メソッドで"Hello, I am <name>."を出力する
Employeeクラス(Personを継承)
String roleフィールドを追加する- コンストラクタ
Employee(String name, String role)でsuper(name)を呼び出し、roleを初期化する greet()をオーバーライドし、まずsuper.greet()を呼び、次に"My role is <role>."を出力する
Mainクラス
Employeeオブジェクトをnew Employee("Tanaka", "Engineer")で作成するgreet()を呼び出す
出力形式
Hello, I am Tanaka.
My role is Engineer.
