Wiederholungs-Challenge
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 6 von 56.
Aufgabe
Zusammenfassende Herausforderung: Baue ein smartes Thermostat
Übe alles, was du in diesem Kapitel gelernt hast, indem du ein smartes Thermostat-Objekt erstellst.
Deine Aufgabe:
- Erstelle eine Konstruktorfunktion namens
Thermostat, die einenroom-Parameter entgegennimmt - Setze innerhalb des Konstruktors diese Eigenschaften mit
this:room(vom Parameter)temperature(auf 22 gesetzt)isOn(auf true gesetzt)
- Füge diese Methoden innerhalb des Konstruktors mit
thishinzu:increaseTemp()- erhöht die Temperatur um 1 GraddecreaseTemp()- verringert die Temperatur um 1 GradgetStatus()- gibt zurück: "[room] thermostat: [temperature]°C"
Probier es selbst
// TODO: Erstelle eine Konstruktorfunktion namens Thermostat, die einen room-Parameter entgegennimmt
// TODO: Setze innerhalb des Konstruktors diese Eigenschaften:
// - room (vom Parameter)
// - temperature (auf 22 gesetzt)
// - isOn (auf true gesetzt)
// TODO: Füge eine Methode namens increaseTemp() hinzu, die die temperature um 1 Grad erhöht
// TODO: Füge eine Methode namens decreaseTemp() hinzu, die die temperature um 1 Grad verringert
// TODO: Füge eine Methode namens getStatus() hinzu, die Folgendes zurückgibt: "[room] thermostat: [temperature]°C"
// Teste deinen Code - diesen Teil nicht verändern
const livingRoom = new Thermostat("Living Room");
livingRoom.increaseTemp();
livingRoom.increaseTemp();
console.log(livingRoom.getStatus()); // Sollte ausgeben: "Living Room thermostat: 24°C"
const bedroom = new Thermostat("Bedroom");
bedroom.decreaseTemp();
bedroom.decreaseTemp();
console.log(bedroom.getStatus()); // Sollte ausgeben: "Bedroom thermostat: 20°C"
Alle Lektionen in Objektorientierte Programmierung
1Objekte & das this-Schlüsselwort
Kurze Wiederholung: ObjekteMethoden zu Objekten hinzufügenDas this-Schlüsselwort verstehenKonstruktorfunktionenDas new-SchlüsselwortWiederholungs-Challenge7Vererbung & das extends-Schlüsselwort
VererbungDie „ist-ein“-BeziehungDas extends-SchlüsselwortDie super()-MethodeVererben von Eigenschaften & MethodenWiederholungs-Challenge10Polymorphie
Was ist Polymorphie?Geerbte Methoden überschreibenVerwendung von superWiederholungs-Challenge13Komposition vs. Vererbung
Die "hat-ein"- vs. "ist-ein"-BeziehungDie Grenzen tiefer VererbungObjekte zusammenbauen2Code organisieren
Was sind Module?Exportieren mit exportImportieren mit importDefault- vs. benannte Exports5Kapselung & Zugriff
KapselungÖffentliche & private KlassenfelderPrivate MethodenWiederholungs-Herausforderung8OOP-Code strukturieren
Klassen in Modulen organisieren11Projekt: Ein Shape-Renderer
Setup: Shape-Klasse & ExportCircle-Klasse: Vererbung14Bibliotheksverwaltungssystem
Entwurf der BibliothekBuch-Klasse mit Komposition3Klassen & Objekte
Was ist eine Klasse?Instanzen erstellenEigenschaften und MethodenWiederholungs-Challenge6Projekt: Ein einfaches Bankkonto
Klasse BankAccountEinzahlungen und Auszahlungen9Statische Methoden & Eigenschaften
Klassenebene vs. InstanzebeneStatische EigenschaftenStatische HilfsmethodenWiederholungs-Challenge12Getter & Setter
Die Schlüsselwörter get und setBerechnete EigenschaftenValidierung und SeiteneffekteWiederholungs-Challenge15Abschluss-Herausforderungen
Spielfiguren-BuilderE-Commerce ProduktsystemUniversitäts-VerwaltungssystemSmart-Home-Gerätesystem