Menu
Coddy logo textTech

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

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

challenge icon

チャレンジ

describe() メソッドをオーバーライドし、新しい calculateArea() メソッドを追加することで、Circle クラスを改善してください。

あなたのタスク:

  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"

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