Menu
Coddy logo textTech

Переопределение и метод Area

Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 41 из 56.

challenge icon

Задание

Улучшите класс Circle, переопределив метод describe() и добавив новый метод calculateArea().

Ваша задача:

  1. Переопределите метод <strong>describe()</strong>, чтобы он возвращал ${super.describe()} (Circle with radius ${this.radius}).

    Пример: "A blue shape (Circle with radius 10)"

  2. Добавьте метод <strong>calculateArea()</strong>, который:
    • Вычисляет площадь по формуле: 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"

Все уроки раздела Объектно-ориентированное программирование