Итоговое испытание
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 29 из 56.
Задание
Создание классов мебели с использованием наследования
Задача 1: Создайте класс Chair
Создайте класс Chair, который расширяет Furniture:
- Используйте
super()в конструкторе, чтобы унаследоватьmaterialиcolorот родительского класса - Добавьте свойство:
numberOfLegs - Добавьте метод:
sit(), который возвращает"Sitting on the chair"
Задача 2: Создайте класс Table
Создайте класс Table, который расширяет Furniture:
- Используйте
super()в конструкторе, чтобы унаследоватьmaterialиcolorот родительского класса - Добавьте свойство:
shape - Добавьте метод:
placeItem(), который возвращает"Item placed on table"
Попробуйте сами
import { Furniture } from './furniture.js';
import { Table } from './table.js';
import { Chair } from './chair.js';
// Тестовый код — не изменять
const myChair = new Chair("wood", "brown", 4);
console.log(myChair.describe()); // Должно вывести "brown wood furniture"
console.log(myChair.numberOfLegs); // Должно вывести 4
console.log(myChair.sit()); // Должно вывести "Sitting on the chair"
const myTable = new Table("glass", "clear", "round");
console.log(myTable.describe()); // Должно вывести "clear glass furniture"
console.log(myTable.shape); // Должно вывести "round"
console.log(myTable.placeItem()); // Должно вывести "Item placed on table"Все уроки раздела Объектно-ориентированное программирование
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Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закрепление