オーバーライドとAreaメソッド
CoddyのJavaScriptジャーニー「オブジェクト指向プログラミング」セクションの一部 — レッスン 41/56。
チャレンジ
describe() メソッドをオーバーライドし、新しい calculateArea() メソッドを追加することで、Circle クラスを改善してください。
あなたのタスク:
describe()メソッドをオーバーライドして、${super.describe()} (Circle with radius ${this.radius})を返すようにします。例: "A blue shape (Circle with radius 10)"
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"