015-005-009
instanceofとダウンキャスト
中級
問題説明
instanceofとダウンキャスト
この問題では: 標準入力から図形の種類と値を読み込み、instanceofで型チェックしてCircleまたはSquareに安全にダウンキャストし、固有のメソッドを呼び出す処理を行います。
学習目標: instanceofで型を確認してから安全にダウンキャストする方法を理解する
概要
標準入力から図形データを読み込み、親クラス型変数を子クラス型に安全にダウンキャストして、子クラス固有のメソッドを呼び出すプログラムを作成してください。
仕様
- Shapeクラスとそのサブクラス(Circle, Square)を定義
- Circleには getRadius()、Squareには getSide() を追加
- 標準入力から図形データを読み込み、Shape型リストに格納する
- 各要素をinstanceofでチェックし、適切なメソッドを呼び出す
入力形式
N
Type1 value1
Type2 value2
...
- 1行目: 図形の数 N
- 続くN行: 図形の種類(Circle または Square)と値(小数)をスペース区切り
出力形式
Circle radius: 5.0
Square side: 4.0
Circle radius: 3.0
