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Übe selbstständig: Online-JavaScript-Compiler