Переопределение и метод Area
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 41 из 56.
Задание
Улучшите класс Circle, переопределив метод describe() и добавив новый метод calculateArea().
Ваша задача:
Переопределите метод
<strong>describe()</strong>, чтобы он возвращал${super.describe()} (Circle with radius ${this.radius}).Пример: "A blue shape (Circle with radius 10)"
- Добавьте метод
<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"Все уроки раздела Объектно-ориентированное программирование
1Объекты и ключевое слово this
Краткий обзор: ОбъектыДобавление методов в объектыПонимание ключевого слова thisФункции-конструкторыКлючевое слово newИтоговое испытание7Наследование и ключевое слово extends
НаследованиеОтношение «is-a»Ключевое слово extendsМетод super()Наследование свойств и методовИтоговое испытание10Полиморфизм
Что такое полиморфизм?Переопределение унаследованных методовИспользование superИтоговое задание13Композиция против наследования
Отношения «has-a» и «is-a»Ограничения глубокого наследованияСоздание объектов2Организация кода
Что такое модули?Экспорт с помощью exportИмпорт с помощью importDefault против именованных экспортов5Инкапсуляция и доступ
ИнкапсуляцияПубличные и приватные поля классовПриватные методыЗадание на повторение8Организация кода ООП
Организация классов в модули11Проект: Отрисовщик фигур
Настройка: Класс Shape и экспортНаследование класса Circle14Система управления библиотекой
Проектирование библиотекиКласс Book с использованием композиции6Проект: Простой банковский счет
Класс BankAccountПополнение и снятие средств9Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закрепление