Buch-Klasse mit Komposition
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 51 von 56.
Aufgabe
Erstellen Sie die Klasse Book mit Komposition
Ihre Aufgabe:
- Importieren Sie in der Datei namens
Book.jsdie KlasseAuthoram Anfang - Erstellen und exportieren Sie eine Klasse
Bookmit:- Privaten Feldern:
#title,#author,#isCheckedOut - Einem Konstruktor, der
titleundauthorentgegennimmt - Zwei Gettern:
titleundauthorInfo, welcher den Namen des Autors zurückgibt
- Privaten Feldern:
- Fügen Sie in
main.jsden Import für die KlasseBookhinzu
Wie Komposition hier angewendet wird:
Komposition bedeutet eine "hat-ein"-Beziehung. In unserer Book-Klasse:
- Book HAT-EINEN Author (nicht "ist-ein" Author)
- Das Book enthält eine Author-Instanz als eine seiner Komponenten
- Der Author existiert separat und kann von mehreren Books verwendet werden
- Dies ist Komposition: Das Aufbauen komplexer Objekte (Book) aus einfacheren (Author)
Probier es selbst
import { Author } from './Author.js';
// TODO: Importiere die Book-Klasse
// Tests
const author = new Author('J.K. Rowling');
const book = new Book('Harry Potter', author);
console.log('Book title:', book.title); // Sollte ausgeben: "Book title: Harry Potter"
console.log('Author:', book.authorInfo); // Sollte ausgeben: "Author: J.K. Rowling"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