Klasy i modyfikatory
Kurs TypeScript · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.
TypeScript dodaje do klas znane z OOP modyfikatory dostępu.
Jak to działa?
public oznacza publiczne pole, private ogranicza dostęp do klasy, a readonly nie pozwala przypisać pola ponownie poza dozwolonym miejscem inicjalizacji.
Przykład 1 — poznaj zapis
class Player {
constructor(
public readonly name: string,
private points = 0
) {}
addPoints(value: number): void {
this.points += value;
}
}
const player = new Player("Ola");
player.addPoints(10);
Pole points jest prywatne, ale metoda może je zmienić.
Przeczytaj kod linijka po linijce
class Player {Definiujemy nowy typ obiektu lub umowę dotyczącą jego zachowania.private points = 0Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.this.points += value;Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.
Brak tekstu w konsoli. Po wywołaniu addPoints stan obiektu wzrasta o 10.
Przykład 2 — podobny problem, inne dane
Teraz przyjrzyj się drugiemu przykładowi. Zwróć uwagę na to, co zmieniło się w kodzie, a co w wyniku. Spróbuj przewidzieć rezultat przed przeczytaniem odpowiedzi.
class Counter { private n = 0; inc() { this.n++; } get() { return this.n; } }
const c = new Counter(); c.inc();
console.log(c.get());
1
Wróć do pierwszego przykładu, zmień jedną wartość i spróbuj samodzielnie przewidzieć wynik. Następnie uruchom kod i porównaj rezultat. W ten sposób nauczysz się nie tylko przepisywać instrukcje, ale rozumieć ich działanie.
Spróbuj samodzielnie
Dodaj metodę getPoints(): number.
Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.