Menu
CoddyTech

オーバーライドとAreaメソッド

CoddyのJavaScriptジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 41/56。

challenge icon

チャレンジ

Circleクラスを改善し、describe()メソッドをオーバーライドして、新しいcalculateArea()メソッドを追加しましょう。

タスク:

  1. 次の値を返すように describe() メソッドをオーバーライドする:${super.describe()} (Circle with radius ${this.radius})。

    例:"A blue shape (Circle with radius 10)"

  2. 次の条件を満たす calculateArea() メソッドを追加する:
    • 次の数式を使って面積を計算する:Math.PI * this.radius * this.radius
    • 計算した面積を返す(console.logは不要)

      *これはCircle固有のメソッドです(親クラスのShapeにはありません)

自分で試してみよう

import { Shape } from './Shape.js';
import { Circle } from './Circle.js';

// テスト
const basicShape = new Shape('red');
console.log(basicShape.describe()); // "A red shape"

const myCircle = new Circle('blue', 10);
console.log(myCircle.describe()); // 出力されるはず: "A blue shape (Circle with radius 10)"
console.log(myCircle.calculateArea()); // 出力されるはず: "314.1592653589793"

オブジェクト指向プログラミングのすべてのレッスン

自分で練習してみよう: JavaScriptオンラインコンパイラ