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
// Create some instances
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.PI); // 3.14159Aufgabe
Füge der Klasse MathConstants die statischen Eigenschaften PI und E hinzu:
- Statische Eigenschaft
PIgesetzt auf3.14159 - Statische Eigenschaft
Egesetzt auf2.71828
Spickzettel
Statische Eigenschaften gehören zur Klasse selbst, nicht zu den Instanzen. Sie werden von allen Instanzen gemeinsam genutzt und über den Klassennamen aufgerufen.
Definieren Sie eine statische Eigenschaft mit dem Schlüsselwort static:
class Counter {
static count = 0;
constructor() {
Counter.count++;
}
}Greifen Sie über den Klassennamen auf statische Eigenschaften zu:
console.log(Counter.count); // 0
const counter1 = new Counter();
const counter2 = new Counter();
console.log(Counter.count); // 2Statische Eigenschaften sind nützlich für Konstanten auf Klassenebene:
class MathConstants {
static PI = 3.14159;
static E = 2.71828;
}
console.log(MathConstants.PI); // 3.14159Probier 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: 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