Właściwości statyczne
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 32 z 56.
Właściwości statyczne należą do samej klasy, a nie do jej instancji. Są współdzielone przez wszystkie instancje.
Zdefiniuj klasę ze statyczną właściwością:
class Counter {
// Zdefiniuj właściwość statyczną
static count = 0;
constructor() {
// Zwiększaj statyczny licznik za każdym razem, gdy tworzona jest nowa instancja
Counter.count++;
}
}Uzyskaj dostęp do właściwości statycznej za pomocą nazwy klasy:
console.log(Counter.count); // 0
// Utwórz kilka instancji
const counter1 = new Counter();
const counter2 = new Counter();
console.log(Counter.count); // 2Właściwości statyczne są przydatne w przypadku wartości, które powinny być współdzielone przez wszystkie instancje, lub stałych na poziomie klasy. Na przykład:
class MathConstants {
static GOLDEN_RATIO = 1.61803;
}
console.log(MathConstants.GOLDEN_RATIO); // 1.61803Wyzwanie
Dodaj właściwości statyczne PI i E do klasy MathConstants:
- Właściwość statyczna
PIustawiona na3.14159 - Właściwość statyczna
Eustawiona na2.71828
Spróbuj swoich sił
import { MathConstants } from './constants.js';
// Kod testowy – nie modyfikuj
console.log(MathConstants.PI); // Powinno wyświetlić 3.14159
console.log(MathConstants.E); // Powinno wyświetlić 2.71828
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