014-008-005

型キャスト:アップキャストとダウンキャスト

中級

問題説明

型キャスト:アップキャストとダウンキャスト

この問題では: Employee(親クラス)とManager(子クラス)を実装し、アップキャスト・ダウンキャストを通じてポリモーフィズムの動作を確認するプログラムを作成します。

学習目標: 継承階層における型変換(キャスト)の仕組みを理解する

概要

型キャストには2種類あります:

  • アップキャスト:子クラス → 親クラス(暗黙的、安全)
  • ダウンキャスト:親クラス → 子クラス(明示的、instanceofチェック推奨)

仕様

親クラスEmployeeを作成:

子クラスManagerを作成:

  • Employee継承
  • privateフィールドteamSize(チームサイズ)
  • コンストラクタでnameとteamSizeを受け取る
  • work()オーバーライド:"Managing team"を出力
  • getTeamSize()メソッド:teamSizeを返す

Mainクラスで:

  1. 標準入力から名前(1行目)とチームサイズ(2行目)を読み込む
  2. 読み込んだ値でManagerインスタンスを作成
  3. Employee型の変数にアップキャスト(暗黙的)
  4. work()を呼び出し(ポリモーフィズムで"Managing team"が出力される)
  5. instanceofでManagerかチェック
  6. Managerにダウンキャスト(明示的)
  7. getTeamSize()を呼び出して"Team size: {チームサイズ}"と出力

入力形式

名前
チームサイズ

出力形式

Managing team
Team size: {チームサイズ}

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

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

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

新規登録