Система устройств умного дома
Часть раздела Объектно-ориентированное программирование путешествия по JavaScript на Coddy — урок 56 из 56.
Задание
В этом испытании вам нужно добавить статическое отслеживание в систему SmartDevice, чтобы мы могли контролировать количество устройств в нашем умном доме.
1. Добавьте статическое свойство в класс SmartDevice:
- Добавьте:
static totalDevices = 0;в начале класса
2. Увеличивайте счетчик в конструкторе:
- В конструкторе
SmartDeviceдобавьте:SmartDevice.totalDevices++;
3. Добавьте статический метод для получения количества:
- Добавьте:
static getDeviceCount() { return SmartDevice.totalDevices; }
Попробуйте сами
import { SmartDevice } from './device.js';
console.log(`Device count: ${SmartDevice.getDeviceCount()}`); // Должно быть 0
const basicDevice1 = new SmartDevice('Smart Plug');
const basicDevice2 = new SmartDevice(' Thermostat');
console.log(`Total devices now: ${SmartDevice.getDeviceCount()}`); // Должно быть 2
Все уроки раздела Объектно-ориентированное программирование
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Статические методы и свойства
Уровень класса против уровня экземпляраСтатические свойстваСтатические вспомогательные методыЗадание на закрепление12Геттеры и сеттеры
Ключевые слова get и setВычисляемые свойстваВалидация и побочные эффектыИтоговое задание15Финальные испытания
Конструктор игровых персонажейСистема товаров для E-commerceСистема управления университетомСистема устройств умного дома