Menu
CoddyTech

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

Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy. Урок 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