Private modifikaator TypeScriptis

Modifikaatorit private kasutatakse juhtudel, kui on vaja blokeerida juurdepääs klassi omadustele ja meetoditele väljastpoolt klassi. Sel juhul ei saa isegi tuletatud klassides viidata nendele omadustele.

Vaatame näidet. Teeme klassis User privaatse omaduse name:

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

Loome klassi objekti, edastades konstruktorisse meie omaduse väärtuse:

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

Nüüd viitab privaatsele omadusele klassist väljaspool viitamine veale:

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

Samuti viitab veale ka proov kirjutada midagi sellele omadusele väljastpoolt klassi:

typescriptuser.name = 'eric'; // viga

Kuid klassi meetodite sees on võimalik nii lugeda kui ka muuta meie privaatse omaduse väärtust:

typescriptclass User {
  private name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public getName() {
    return this.name; // loeme omaduse
  }
  
  public setName(name: string) {
    this.name = name; // kirjutame omadusele uue väärtuse
  }
}
Задание 1

Tehke klass User, mis sisaldab privaatseid omadusi nime ja vanusega. Olgu nende algväärtused määratud läbi konstruktori.

Задание 2

Teie klassis User tehke avalikud meetodid getName ja getAge, mis võimaldavad saada vastavate privaatsete omaduste väärtusi.

Задание 3

Teie klassis User tehke avalikud meetodid setName ja setAge, mis võimaldavad muuta vastavate privaatsete omaduste väärtusi.