Přístupy v OOP v TypeScriptu
Stejně jako v čistém JavaScriptu, i v TypeScriptu lze vytvářet přístupy vlastností: gettery a settery.
V TypeScriptu však názvy přístupů nesmí
odpovídat názvům vlastností. Podívejme se
na to v praxi. Vytvořme přístupy pro
soukromou vlastnost name. Pokud
zvolíme pro přístupy také název name,
takový kód vyhodí chybu:
class User {
private name: string = '';
public set name(name: string) { // vyhodí chybu
this.name = name;
}
public get name(): string {
return this.name;
}
}
Opravme problém, například přejmenováním soukromé vlastnosti:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Vytvořte třídu User, obsahující
soukromé vlastnosti s jménem a věkem.
Vytvořte přístupy těchto vlastností.
Upravte setter pro věk tak, aby bylo možné
nastavit věk od 0 do
120. Pokud bude zadána jiná
hodnota, musí být vyhozena výjimka.