014-004-009

protectedメソッドのオーバーライド

中級

問題説明

protectedメソッドのオーバーライド

この問題では: ShapeクラスprotectedメソッドgetArea()CircleRectangleのサブクラスでオーバーライドし、標準入力から読み込んだ値をもとに各図形の面積を計算して標準出力に表示するプログラムを作成します。

学習目標: 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

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

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

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

新規登録