Итоговое испытание
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy. Урок 6 из 56.
Задание
Итоговое задание: создайте умный термостат
Закрепите всё, что вы узнали в этой главе, создав объект умного термостата.
Ваша задача:
- Создайте функцию-конструктор с именем
Thermostat, которая принимает параметрroom - Внутри конструктора задайте эти свойства с помощью
this:room(из параметра)temperature(задайте значение 22)isOn(задайте значение true)
- Добавьте эти методы внутри конструктора с помощью
this:increaseTemp()— повышает температуру на 1 градусdecreaseTemp()— понижает температуру на 1 градусgetStatus()— возвращает в точности[room] thermostat: [temperature]°C(оставьте английское слово thermostat)
Попробуйте сами
// TODO: Создайте функцию-конструктор Thermostat, которая принимает параметр room
// TODO: Внутри конструктора задайте следующие свойства:
// - room (из параметра)
// - temperature (установите значение 22)
// - isOn (установите значение true)
// TODO: Добавьте метод increaseTemp(), который повышает temperature на 1 градус
// TODO: Добавьте метод decreaseTemp(), который понижает temperature на 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 и экспортНаследование класса CircleПереопределение и метод AreaСтатический счетчик фигур14Система управления библиотекой
Проектирование библиотекиКласс Book с использованием композицииВалидация автора книги6Проект: Простой банковский счет
Класс BankAccountПополнение и снятие средствБаланс как приватное поле9Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закреплениеПотренируйтесь самостоятельно: Онлайн-компилятор JavaScript