015-002-009
配列でアップキャストを活用する
中級
問題説明
配列でアップキャストを活用する
この問題では: Shape型の配列にCircleとRectangleのインスタンスをアップキャストして格納し、ポリモーフィズムを活用してそれぞれのarea()メソッドをループで呼び出して面積を標準出力に表示するプログラムを作成します。
学習目標: スーパークラス型の配列にサブクラスを格納してループ処理する方法を理解する
概要
Shape型の配列にCircleとRectangleを格納し、ループでarea()を呼び出すプログラムを作成してください。
仕様
Shapeクラスにdouble area()メソッドを定義(0.0を返す)CircleがShapeを継承し、double radiusをコンストラクタで受け取り、area()で3.14 * radius * radiusを返すRectangleがShapeを継承し、double width, heightをコンストラクタで受け取り、area()でwidth * heightを返す- mainでShape配列に Circle(5.0) と Rectangle(3.0, 4.0) を格納
- ループで各要素のarea()を呼び、
Area: <面積>を出力
出力形式
Area: 78.5
Area: 12.0
