Statische Hilfsmethoden
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy. Lektion 33 von 56.
Statische Methoden sind Hilfsfunktionen, die zur Klasse selbst gehören und nicht zu Instanzen der Klasse. Sie sind nützlich für Funktionen, die keinen Zugriff auf instanzspezifische Daten benötigen.
Erstellen wir eine Klasse mit einer statischen Hilfsmethode:
class MathHelper {
// Eine statische Methode definieren
static square(number) {
return number * number;
}
}Um eine statische Methode aufzurufen, verwendest du direkt den Klassennamen:
// Rufe die statische Methode auf, ohne eine Instanz zu erstellen
const result = MathHelper.square(5);
console.log(result); // 25Beachte, dass wir keine neue Instanz mit new MathHelper() erstellen mussten. Statische Methoden eignen sich perfekt für Hilfsfunktionen, die Operationen ausführen, ohne Instanzdaten zu benötigen.
Aufgabe
Erstelle eine Klasse namens StringUtils mit einer statischen Methode namens capitalize, die einen String als Argument entgegennimmt und denselben String mit einem großgeschriebenen ersten Buchstaben zurückgibt. Wenn die Eingabe beispielsweise "javascript" lautet, sollte die Methode "Javascript" zurückgeben. Exportiere diese Klasse.
- Prüfe, ob der String leer ist:
if (!str || str.length === 0)(Ohne diese Prüfung könnte ein leerer String Probleme verursachen).!strprüft aufnull/undefined(verhindert Fehler)str.length === 0prüft, ob der String leer ist (gibt "" zurück, anstatt abzustürzen)
- Rufe das erste Zeichen ab:
str.charAt(0) - Wandle es in Großbuchstaben um:
.toUpperCase() - Rufe den Rest des Strings ab:
str.slice(1)(von Position 1 bis zum Ende) - Füge zusammen: erster Buchstabe in Großschreibung + Rest des Strings
Probier es selbst
import { StringUtils } from './stringUtils.js';
// Ändere den folgenden Code nicht
console.log(StringUtils.capitalize("programming"));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