Statyczne metody pomocnicze
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 33 z 56.
Metody statyczne to funkcje pomocnicze należące do samej klasy, a nie do jej instancji. Są przydatne w przypadku funkcji, które nie wymagają dostępu do danych specyficznych dla instancji.
Stwórzmy klasę ze statyczną metodą pomocniczą:
class MathHelper {
// Zdefiniuj metodę statyczną
static square(number) {
return number * number;
}
}Aby wywołać metodę statyczną, użyj bezpośrednio nazwy klasy:
// Wywołaj metodę statyczną bez tworzenia instancji
const result = MathHelper.square(5);
console.log(result); // 25Zauważ, że nie musieliśmy tworzyć nowej instancji za pomocą new MathHelper(). Metody statyczne doskonale nadają się do funkcji narzędziowych, które wykonują operacje bez potrzeby korzystania z danych instancji.
Wyzwanie
Utwórz klasę o nazwie StringUtils ze statyczną metodą o nazwie capitalize, która przyjmuje ciąg znaków jako argument i zwraca ten sam ciąg znaków z pierwszą wielką literą. Na przykład, jeśli wejściem jest "javascript", metoda powinna zwrócić "Javascript". Wyeksportuj tę klasę.
- Sprawdź, czy ciąg znaków jest pusty:
if (!str || str.length === 0)(Bez tego sprawdzenia pusty ciąg znaków może powodować problemy).!strsprawdza, czy wartość tonull/undefined(zapobiega błędom)str.length === 0sprawdza, czy ciąg znaków jest pusty (zwraca "" zamiast powodować awarię)
- Pobierz pierwszy znak:
str.charAt(0) - Zamień go na wielką literę:
.toUpperCase() - Pobierz pozostałą część ciągu znaków:
str.slice(1)(od pozycji 1 do końca) - Połącz: pierwszą wielką literę + pozostałą część ciągu znaków
Spróbuj swoich sił
import { StringUtils } from './stringUtils.js';
// Nie modyfikuj poniższego kodu
console.log(StringUtils.capitalize("programming"));Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Obiekty i słowo kluczowe this
Szybka powtórka: obiektyDodawanie metod do obiektówZrozumienie słowa kluczowego thisFunkcje konstruktoraSłowo kluczowe newWyzwanie podsumowujące7Dziedziczenie i słowo kluczowe extends
DziedziczenieRelacja „jest rodzajem”Słowo kluczowe extendsMetoda super()Dziedziczenie właściwości i metodWyzwanie podsumowujące10Polimorfizm
Czym jest polimorfizm?Nadpisywanie odziedziczonych metodUżywanie superWyzwanie podsumowujące13Kompozycja a dziedziczenie
Relacja „ma” a relacja „jest”Ograniczenia głębokiego dziedziczeniaTworzenie obiektów2Organizowanie kodu
Czym są moduły?Eksportowanie za pomocą exportImportowanie za pomocą importEksporty domyślne a nazwane5Enkapsulacja i dostęp
EnkapsulacjaPubliczne i prywatne pola klasyMetody prywatneWyzwanie podsumowujące8Organizowanie kodu OOP
Organizowanie klas w moduły11Projekt: Renderer kształtów
Konfiguracja: klasa Shape i eksportDziedziczenie klasy CircleNadpisywanie i metoda obliczania polaStatyczny licznik kształtów14System zarządzania biblioteką
Projektowanie bibliotekiKlasa Book z kompozycjąWalidacja autora książki9Metody i właściwości statyczne
Poziom klasy a poziom instancjiWłaściwości statyczneStatyczne metody pomocniczeWyzwanie podsumowującePoćwicz samodzielnie: Kompilator JavaScript online