Итоговое испытание
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 6 из 56.
Задание
Итоговое испытание: Создайте умный термостат
Закрепите всё, что вы узнали в этой главе, создав объект умного термостата.
Ваша задача:
- Создайте функцию-конструктор с именем
Thermostat, которая принимает параметрroom - Внутри конструктора установите следующие свойства, используя
this:room(из параметра)temperature(установите значение 22)isOn(установите значение true)
- Добавьте следующие методы внутри конструктора, используя
this:increaseTemp()— увеличивает температуру на 1 градусdecreaseTemp()— уменьшает температуру на 1 градусgetStatus()— возвращает строку: "[room] thermostat: [temperature]°C"
Попробуйте сами
// TODO: Создайте функцию-конструктор с именем Thermostat, которая принимает параметр room
// TODO: Внутри конструктора установите следующие свойства:
// - room (из параметра)
// - temperature (установите значение 22)
// - isOn (установите значение true)
// TODO: Добавьте метод increaseTemp(), который увеличивает температуру на 1 градус
// TODO: Добавьте метод decreaseTemp(), который уменьшает температуру на 1 градус
// TODO: Добавьте метод getStatus(), который возвращает: "[room] thermostat: [temperature]°C"
// Проверьте свой код — не изменяйте эту часть
const livingRoom = new Thermostat("Living Room");
livingRoom.increaseTemp();
livingRoom.increaseTemp();
console.log(livingRoom.getStatus()); // Должно вывести: "Living Room thermostat: 24°C"
const bedroom = new Thermostat("Bedroom");
bedroom.decreaseTemp();
bedroom.decreaseTemp();
console.log(bedroom.getStatus()); // Должно вывести: "Bedroom thermostat: 20°C"
Все уроки раздела Объектно-ориентированное программирование
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Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закрепление