Accessorok az OOP-ben TypeScript-ben
Ahogy a tiszta JavaScript-ben, úgy a TypeScript-ben is készíthetünk accessorokat (hozzáférőket): gettereket és settereket.
A TypeScript-ben azonban az accessorok neve nem
egyezhet meg a tulajdonságok nevével. Nézzük ezt
a gyakorlatban. Készítsünk accessorokat
a name privát tulajdonsághoz. Ha
az accessoroknak is a name nevet adjuk,
akkor a kód hibát jelez:
class User {
private name: string = '';
public set name(name: string) { // hibát jelez
this.name = name;
}
public get name(): string {
return this.name;
}
}
Javítsuk a problémát, például a privát tulajdonság átnevezésével:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Készítsen egy User osztályt, amely
tartalmazza a név és kor privát tulajdonságait.
Készítsen ezen tulajdonságok accessorait.
Módosítsa a kor setterét úgy, hogy
a 0 és 120 közötti érték
lehessen beállítani. Ha más érték van megadva,
akkor kivételt kell dobni.