Dalej•LEKCJA 25 / 26

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

  1. class Player {Definiujemy nowy typ obiektu lub umowę dotyczącą jego zachowania.
  2. private points = 0Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.
  3. this.points += value;Tworzymy lub aktualizujemy zmienną, pole albo przypisanie.
Oczekiwany wynik / efektpo uruchomieniu przykładu
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());
Wynik drugiego przykładupo uruchomieniu przykładu
1
Sprawdź, czy rozumiesz

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.

To już koniec tej lekcji.

Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.