Statische Eigenschaften
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 32 von 56.
Statische Eigenschaften gehören zur Klasse selbst, nicht zu Instanzen der Klasse. Sie werden von allen Instanzen gemeinsam genutzt.
Definiere eine Klasse mit einer statischen Eigenschaft:
class Counter {
// Definiere eine statische Eigenschaft
static count = 0;
constructor() {
// Erhöhe den statischen Zähler jedes Mal, wenn eine neue Instanz erstellt wird
Counter.count++;
}
}Greifen Sie über den Klassennamen auf die statische Eigenschaft zu:
console.log(Counter.count); // 0
// Erstellen Sie einige Instanzen
const counter1 = new Counter();
const counter2 = new Counter();
console.log(Counter.count); // 2Statische Eigenschaften sind nützlich für Werte, die über alle Instanzen hinweg geteilt werden sollen, oder für Konstanten auf Klassenebene. Zum Beispiel:
class MathConstants {
static GOLDEN_RATIO = 1.61803;
}
console.log(MathConstants.GOLDEN_RATIO); // 1.61803Aufgabe
Fügen Sie statische Eigenschaften PI und E zu einer MathConstants-Klasse hinzu:
- Statische Eigenschaft
PIgesetzt auf3.14159 - Statische Eigenschaft
Egesetzt auf2.71828
Probier es selbst
import { MathConstants } from './constants.js';
// Testcode - nicht ändern
console.log(MathConstants.PI); // Sollte 3.14159 ausgeben
console.log(MathConstants.E); // Sollte 2.71828 ausgeben
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