Eigenschaften und Methoden
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy. Lektion 13 von 56.
Klassen in JavaScript ermöglichen es uns, Eigenschaften und Methoden zu definieren, die von allen Instanzen der Klasse gemeinsam genutzt werden.
Erstelle eine Klasse mit Eigenschaften:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}Beim Erstellen einer Instanz legt der Konstruktor diese Eigenschaften fest:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make); // Ausgabe: 'Toyota'
console.log(myCar.model); // Ausgabe: 'Corolla'Füge der Klasse eine Methode hinzu:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getDescription() {
return `This car is a ${this.make} ${this.model}.`;
}
}Jetzt können wir diese Methode für jede Instanz aufrufen:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Ausgabe: 'This car is a Toyota Corolla.'Aufgabe
Erstelle eine Klasse namens Book in der Datei book.js mit folgenden Eigenschaften:
- Einen Konstruktor, der die Parameter
title,authorundpagesentgegennimmt und sie als Eigenschaften festlegt. - Eine Methode namens
getInfo, die einen String im folgenden Format zurückgibt: „Title: [title], Author: [author], Pages: [pages]“ - Exportiere die Klasse, indem du `export` vor die `class`-Deklaration setzt
Probier es selbst
import { Book } from './book.js';
// Test (diesen Teil nicht ändern)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
Diese 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