Accesorii în OOP în TypeScript
La fel ca în JavaScript simplu, în TypeScript se pot face accesori proprietăți: getteri și setteri.
În TypeScript, însă, numele accesorilor nu
trebuie să coincidă cu numele proprietăților. Să
vedem în practică. Să facem accesori
pentru proprietatea privată name. Dacă
dăm și accesorilor numele name,
atunci un astfel de cod va da eroare:
class User {
private name: string = '';
public set name(name: string) { // va da eroare
this.name = name;
}
public get name(): string {
return this.name;
}
}
Să remediem problema, de exemplu, redenumind proprietatea privată:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Creați clasa User, care conține
proprietăți private cu numele și vârsta.
Creați accesori ai acestor proprietăți.
Modificați setter-ul vârstei astfel încât
să se poată seta vârsta de la 0 până la
120. Dacă va fi indicată o altă
valoare, trebuie să fie aruncată o excepție.