A private módosító TypeScript-ben

A private módosítót olyan esetekben alkalmazzuk, amikor egy osztályon kívülről kell letiltani a tulajdonságokhoz és metódusokhoz való hozzáférést. Ebben az esetben még az leszármazott osztályokban sem lehet majd hivatkozni ezekre a tulajdonságokra.

Nézzünk egy példát. Készítsünk egy privát name tulajdonságot a User osztályban:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
}

Hozzunk létre egy objektumot az osztályból, átadva a konstruktornak a tulajdonságunk értékét:

typescriptlet user: User = new User('john');

Most a privát tulajdonság osztályon kívülről történő olvasására tett kísérlet hibához vezet:

typescriptconsole.log(user.name); // hiba

A tulajdonságba való írás osztályon kívülről szintén hibához vezet:

typescriptuser.name = 'eric'; // hiba

Az osztály metódusain belül azonban lehetőség van a privát tulajdonságunk értékének olvasására és módosítására:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // elolvassuk a tulajdonságot
  }
  
  public setName(name: string) {
    this.name = name; // új értéket írunk a tulajdonságba
  }
}
Задание 1

Készítsen egy User osztályt, amely privát tulajdonságokat tartalmaz a névhez és a korhoz. Legyenek kezdeti értékeik a konstruktoron keresztül megadva.

Задание 2

A User osztályában készítsen getName és getAge publikus metódusokat, amelyek lehetővé teszik a megfelelő privát tulajdonságok értékeinek lekérését.

Задание 3

A User osztályában készítsen setName és setAge publikus metódusokat, amelyek lehetővé teszik a megfelelő privát tulajdonságok értékeinek módosítását.