016-002-010
抽象メソッドと具象メソッド
初級
問題説明
抽象メソッドと具象メソッド
この問題では: 抽象クラスApplianceに抽象メソッドturnOn()と具象メソッドdisplayStatus()を定義し、WashingMachineとMicrowaveで抽象メソッドを実装して両方のメソッドを呼び出すプログラムを作成します。
学習目標: 抽象クラスにおける抽象メソッドと具象メソッドの違いを理解する
概要
Appliance抽象クラスには、サブクラスごとに異なる実装が必要な抽象メソッドturnOn()と、全サブクラスで共通の具象メソッドdisplayStatus()を定義します。WashingMachineとMicrowaveはそれぞれturnOn()を独自に実装しつつ、displayStatus()は継承して共通動作を利用します。
仕様
Applianceクラス(abstract)
protected String nameフィールドを持つ- コンストラクタ
Appliance(String name)で初期化 - 抽象メソッド
abstract void turnOn(): サブクラスで実装する - 具象メソッド
displayStatus():"[name] is ready."と出力
WashingMachineクラス
Applianceを継承するturnOn():"WashingMachine: Starting wash cycle."と出力
Microwaveクラス
Applianceを継承するturnOn():"Microwave: Heating started."と出力
Mainクラス
WashingMachine("Washer-100")とMicrowave("Micro-200")を生成- 各オブジェクトで
displayStatus()とturnOn()を順に呼び出す
出力形式
Washer-100 is ready.
WashingMachine: Starting wash cycle.
Micro-200 is ready.
Microwave: Heating started.
