Wyzwanie podsumowujące
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 6 z 56.
Wyzwanie
Wyzwanie podsumowujące: zbuduj inteligentny termostat
Przećwicz wszystko, czego nauczyłeś się w tym rozdziale, tworząc obiekt inteligentnego termostatu.
Twoje zadanie:
- Utwórz funkcję konstruktora o nazwie
Thermostat, która przyjmuje parametrroom - Wewnątrz konstruktora ustaw te właściwości za pomocą
this:room(z parametru)temperature(ustaw na 22)isOn(ustaw na true)
- Dodaj te metody wewnątrz konstruktora za pomocą
this:increaseTemp()- zwiększa temperaturę o 1 stopieńdecreaseTemp()- zmniejsza temperaturę o 1 stopieńgetStatus()- zwraca: "[room] thermostat: [temperature]°C"
Spróbuj swoich sił
// TODO: Utwórz funkcję konstruktora o nazwie Thermostat, która przyjmuje parametr room
// TODO: Wewnątrz konstruktora ustaw te właściwości:
// - room (na podstawie parametru)
// - temperature (ustaw na 22)
// - isOn (ustaw na true)
// TODO: Dodaj metodę o nazwie increaseTemp(), która zwiększa temperature o 1 stopień
// TODO: Dodaj metodę o nazwie decreaseTemp(), która zmniejsza temperature o 1 stopień
// TODO: Dodaj metodę o nazwie getStatus(), która zwraca: "[room] thermostat: [temperature]°C"
// Przetestuj swój kod — nie modyfikuj tej części
const livingRoom = new Thermostat("Living Room");
livingRoom.increaseTemp();
livingRoom.increaseTemp();
console.log(livingRoom.getStatus()); // Powinno wypisać: "Living Room thermostat: 24°C"
const bedroom = new Thermostat("Bedroom");
bedroom.decreaseTemp();
bedroom.decreaseTemp();
console.log(bedroom.getStatus()); // Powinno wypisać: "Bedroom thermostat: 20°C"
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ącePoćwicz samodzielnie: Kompilator JavaScript online