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 {
// Definiere eine statische Methode
static square(number) {
return number * number;
}
}Um eine statische Methode aufzurufen, verwenden Sie den Klassennamen direkt:
// Rufen Sie die statische Methode auf, ohne eine Instanz zu erstellen
const result = MathHelper.square(5);
console.log(result); // 25Beachten Sie, dass wir keine neue Instanz mit new MathHelper() erstellen mussten. Statische Methoden eignen sich hervorragend für Hilfsfunktionen, die Operationen ausführen, ohne Instanzdaten zu benötigen.
Aufgabe
Erstellen Sie eine Klasse namens StringUtils mit einer statischen Methode namens capitalize, die einen String als Argument entgegennimmt und denselben String mit großgeschriebenem ersten Buchstaben zurückgibt. Wenn die Eingabe beispielsweise "javascript" ist, sollte die Methode "Javascript" zurückgeben. Exportieren Sie diese Klasse.
- Prüfen Sie, 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 auf einen leeren String (gibt "" zurück, anstatt abzustürzen)
- Holen Sie das erste Zeichen:
str.charAt(0) - Wandeln Sie es in Großbuchstaben um:
.toUpperCase() - Holen Sie den Rest des Strings:
str.slice(1)(von Position 1 bis zum Ende) - Kombinieren Sie: großgeschriebenes erstes Zeichen + Rest des Strings
Spickzettel
Statische Methoden sind Hilfsfunktionen, die zur Klasse selbst gehören und nicht zu Instanzen. Sie benötigen keinen Zugriff auf instanzspezifische Daten.
Definieren Sie eine statische Methode mit dem Schlüsselwort static:
class MathHelper {
static square(number) {
return number * number;
}
}Rufen Sie statische Methoden direkt auf der Klasse auf, ohne eine Instanz zu erstellen:
const result = MathHelper.square(5);
console.log(result); // 25Nützliche String-Methoden für statische Hilfsprogramme:
str.charAt(0)- ruft das erste Zeichen abstr.toUpperCase()- wandelt in Großbuchstaben umstr.slice(1)- ruft den Teilstring von Position 1 bis zum Ende ab!str || str.length === 0- prüft auf null/undefined oder leere Zeichenfolge
Probier es selbst
import { StringUtils } from './stringUtils.js';
// Den untenstehenden Code nicht ändern
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: 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