Method-Chaining-Pattern
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy. Lektion 16 von 56.
Method Chaining ist ein Programmiermuster, mit dem du mehrere Methoden für dasselbe Objekt in einer einzigen Anweisung aufrufen kannst. Jede Methode gibt das Objekt selbst zurück (this), sodass du die nächste Methode in derselben Zeile aufrufen kannst.
Erstelle ein einfaches Zählerobjekt:
const counter = {
count: 0,
increment() {
this.count++;
return this;
},
decrement() {
this.count--;
return this;
},
getValue() {
return this.count;
}
};Jetzt können Sie Methoden miteinander verketten:
// Mehrere Operationen verketten
counter.increment().increment().decrement();
// Der Zählerstand ist nun 1
console.log(counter.getValue()); // Ausgabe: 1Der Schlüssel zum Verketten von Methoden besteht darin, aus jeder Methode, die verkettet werden können soll, this zurückzugeben.
Aufgabe
Du erhältst ein Rechnerobjekt, das bereits über die Methoden add() und subtract() verfügt. Deine Aufgabe besteht darin, die Methoden multiply und divide hinzuzufügen, die this zurückgeben, um Verkettungen zu ermöglichen.
Probier es selbst
import { calculator } from './calculator.js';
// Testcode - nicht verändern
const result1 = calculator.add(10).multiply(2).getValue();
console.log(result1); // Sollte 20 ausgeben
// Zurücksetzen für den zweiten Test
calculator.value = 0;
const result2 = calculator.add(20).divide(4).subtract(1).getValue();
console.log(result2); // Sollte 4 ausgebenDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
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: VererbungOverriding & Area-MethodeStatischer Shape-Zähler14Bibliotheksverwaltungssystem
Entwurf der BibliothekBuch-Klasse mit KompositionValidierung der Buchautoren3Klassen & Objekte
Was ist eine Klasse?Instanzen erstellenEigenschaften und MethodenWiederholungs-Challenge6Projekt: Ein einfaches Bankkonto
Klasse BankAccountEinzahlungen und AuszahlungenKontostand als privates Feld9Statische 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Übe selbstständig: Online-JavaScript-Compiler