016-001-009

抽象クラスに共通処理を持たせる

中級

問題説明

抽象クラスに共通処理を持たせる

この問題では: 抽象クラスEmployeeに共通フィールドと具象メソッドを定義し、サブクラスEngineerDesignerでそれぞれのwork()メソッドを実装して、テンプレートメソッドパターンを用いた継承構造を構築し、結果を標準出力に表示するプログラムを作成します。

学習目標: 抽象クラスに具象メソッドとフィールドを持たせ、テンプレートメソッドパターンを理解する

概要

抽象クラスEmployeeに共通のフィールドと具象メソッド、抽象メソッドを定義し、サブクラスで個別処理を実装するプログラムを作成してください。

仕様

  1. abstract class EmployeeString name フィールドとコンストラクタ
  2. 具象メソッド greet(): Hello, I am <name>. を出力
  3. 抽象メソッド work(): サブクラスで実装
  4. Engineer がEmployeeを継承し、work()で <name> writes code. を出力
  5. Designer がEmployeeを継承し、work()で <name> creates designs. を出力
  6. mainでそれぞれのオブジェクトを作成し、greet()とwork()を呼ぶ

出力形式

Hello, I am Alice.
Alice writes code.
Hello, I am Bob.
Bob creates designs.

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

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

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

新規登録