Modificatorul private în TypeScript
Modificatorul private este aplicat în
cazurile în care este necesar să restricționăm accesul la
proprietăți și metode din exteriorul clasei. În
acest caz, chiar și în clasele derivate nu se va putea
accesa aceste proprietăți.
Să privim un exemplu. Să creăm în
clasa User o proprietate privată
name:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Să creăm un obiect al clasei, transmitând în constructor valoarea proprietății noastre:
let user: User = new User('john');
Acum, încercarea de a citi această proprietate privată în afara clasei va duce la o eroare:
console.log(user.name); // eroare
De asemenea, va duce la o eroare și încercarea de a scrie ceva în această proprietate din exteriorul clasei:
user.name = 'eric'; // eroare
Însă, în interiorul metodelor clasei se va putea atât citi, cât și modifica valoarea proprietății noastre private:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // citim proprietatea
}
public setName(name: string) {
this.name = name; // scriem o nouă valoare a proprietății
}
}
Creați o clasă User care conține
proprietăți private pentru nume și vârstă.
Fie că valorile lor inițiale sunt setate prin
constructor.
În clasa dvs. User creați metode publice
getName și getAge,
care permit obținerea valorilor proprietăților
private corespunzătoare.
În clasa dvs. User creați metode publice
setName și setAge,
care permit modificarea valorilor proprietăților
private corespunzătoare.