016-002-010

抽象メソッドと具象メソッド

初級

問題説明

抽象メソッドと具象メソッド

この問題では: 抽象クラスApplianceに抽象メソッドturnOn()と具象メソッドdisplayStatus()を定義し、WashingMachineMicrowaveで抽象メソッドを実装して両方のメソッドを呼び出すプログラムを作成します。

学習目標: 抽象クラスにおける抽象メソッドと具象メソッドの違いを理解する

概要

Appliance抽象クラスには、サブクラスごとに異なる実装が必要な抽象メソッドturnOn()と、全サブクラスで共通の具象メソッドdisplayStatus()を定義します。WashingMachineMicrowaveはそれぞれ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.

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

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

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

新規登録