014-008-005
型キャスト:アップキャストとダウンキャスト
中級
問題説明
型キャスト:アップキャストとダウンキャスト
この問題では: Employee(親クラス)とManager(子クラス)を実装し、アップキャスト・ダウンキャストを通じてポリモーフィズムの動作を確認するプログラムを作成します。
学習目標: 継承階層における型変換(キャスト)の仕組みを理解する
概要
型キャストには2種類あります:
- アップキャスト:子クラス → 親クラス(暗黙的、安全)
- ダウンキャスト:親クラス → 子クラス(明示的、instanceofチェック推奨)
仕様
親クラスEmployeeを作成:
子クラスManagerを作成:
Employeeを継承- privateフィールド
teamSize(チームサイズ) - コンストラクタでnameとteamSizeを受け取る
work()をオーバーライド:"Managing team"を出力getTeamSize()メソッド:teamSizeを返す
Mainクラスで:
- 標準入力から名前(1行目)とチームサイズ(2行目)を読み込む
- 読み込んだ値でManagerインスタンスを作成
- Employee型の変数にアップキャスト(暗黙的)
- work()を呼び出し(ポリモーフィズムで"Managing team"が出力される)
- instanceofでManagerかチェック
- Managerにダウンキャスト(明示的)
- getTeamSize()を呼び出して"Team size: {チームサイズ}"と出力
入力形式
名前
チームサイズ
出力形式
Managing team
Team size: {チームサイズ}
