System urządzeń inteligentnego domu
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 56 z 56.
Wyzwanie
W tym wyzwaniu dodasz statyczne śledzenie do systemu SmartDevice, abyśmy mogli monitorować, ile urządzeń znajduje się w naszym inteligentnym domu.
1. Dodaj statyczną właściwość do klasy SmartDevice:
- Dodaj:
static totalDevices = 0;na początku klasy
2. Zwiększ licznik w konstruktorze:
- W konstruktorze
SmartDevicedodaj:SmartDevice.totalDevices++;
3. Dodaj metodę statyczną, aby pobierać liczbę:
- Dodaj:
static getDeviceCount() { return SmartDevice.totalDevices; }
Spróbuj swoich sił
import { SmartDevice } from './device.js';
console.log(`Device count: ${SmartDevice.getDeviceCount()}`); // Powinno być 0
const basicDevice1 = new SmartDevice('Smart Plug');
const basicDevice2 = new SmartDevice(' Thermostat');
console.log(`Total devices now: ${SmartDevice.getDeviceCount()}`); // Powinno być 2
Wszystkie lekcje w sekcji Programowanie obiektowe
1Obiekty i słowo kluczowe this
Szybka powtórka: obiektyDodawanie metod do obiektówZrozumienie słowa kluczowego thisFunkcje konstruktoraSłowo kluczowe newWyzwanie podsumowujące7Dziedziczenie i słowo kluczowe extends
DziedziczenieRelacja „jest rodzajem”Słowo kluczowe extendsMetoda super()Dziedziczenie właściwości i metodWyzwanie podsumowujące10Polimorfizm
Czym jest polimorfizm?Nadpisywanie odziedziczonych metodUżywanie superWyzwanie podsumowujące13Kompozycja a dziedziczenie
Relacja „ma” a relacja „jest”Ograniczenia głębokiego dziedziczeniaTworzenie obiektów2Organizowanie kodu
Czym są moduły?Eksportowanie za pomocą exportImportowanie za pomocą importEksporty domyślne a nazwane5Enkapsulacja i dostęp
EnkapsulacjaPubliczne i prywatne pola klasyMetody prywatneWyzwanie podsumowujące8Organizowanie kodu OOP
Organizowanie klas w moduły11Projekt: Renderer kształtów
Konfiguracja: klasa Shape i eksportDziedziczenie klasy CircleNadpisywanie i metoda obliczania polaStatyczny licznik kształtów14System zarządzania biblioteką
Projektowanie bibliotekiKlasa Book z kompozycjąWalidacja autora książki9Metody i właściwości statyczne
Poziom klasy a poziom instancjiWłaściwości statyczneStatyczne metody pomocniczeWyzwanie podsumowujące12Gettery i settery
Słowa kluczowe get i setWłaściwości obliczaneWalidacja i efekty uboczneWyzwanie podsumowujące15Wyzwania końcowe
Kreator postaci do grySystem produktów e-commerceSystem zarządzania uczelniąSystem urządzeń inteligentnego domuPoćwicz samodzielnie: Kompilator JavaScript online