014-004-009
protectedメソッドのオーバーライド
中級
問題説明
protectedメソッドのオーバーライド
この問題では: ShapeクラスのprotectedメソッドgetArea()をCircleとRectangleのサブクラスでオーバーライドし、標準入力から読み込んだ値をもとに各図形の面積を計算して標準出力に表示するプログラムを作成します。
学習目標: protected修飾子のメソッドをサブクラスでオーバーライドし、アクセス範囲を変更する方法を理解する
概要
protectedメソッドはサブクラスでオーバーライドでき、その際アクセス修飾子をprotectedまたはpublicに変更できます(より制限的にはできない)。
仕様
- ShapeクラスにprotectedメソッドgetArea()を定義する(0.0を返す)
- CircleクラスでgetArea()をオーバーライドして円の面積を計算する
- RectangleクラスでgetArea()をオーバーライドして長方形の面積を計算する
- 各図形の面積をpublicなdisplayArea()で表示する
- 標準入力から半径・幅・高さをdouble型で読み込む
入力形式
半径(double)
幅(double)
高さ(double)
出力形式
Circle area: <面積>
Rectangle area: <面積>
面積は小数点以下2桁で出力する。
入出力例
入力:
5.0
4.0
6.0
出力:
Circle area: 78.54
Rectangle area: 24.00
