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:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Loome klassi objekti, edastades konstruktorisse meie omaduse väärtuse:
let user: User = new User('john');
Nüüd viitab privaatsele omadusele klassist väljaspool viitamine veale:
console.log(user.name); // viga
Samuti viitab veale ka proov kirjutada midagi sellele omadusele väljastpoolt klassi:
user.name = 'eric'; // viga
Kuid klassi meetodite sees on võimalik nii lugeda kui ka muuta meie privaatse omaduse väärtust:
class 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
}
}
Tehke klass User, mis sisaldab
privaatseid omadusi nime ja vanusega.
Olgu nende algväärtused määratud läbi
konstruktori.
Teie klassis User tehke avalikud
meetodid getName ja getAge,
mis võimaldavad saada vastavate privaatsete
omaduste väärtusi.
Teie klassis User tehke avalikud
meetodid setName ja setAge,
mis võimaldavad muuta vastavate privaatsete
omaduste väärtusi.