Аксесори в ООП в TypeScript
Също като в чистия JavaScript, в TypeScript могат да се правят аксесори на свойства: гетъри и сетъри.
В TypeScript обаче имената на аксесорите не
трябва да съвпадат с имената на свойствата. Нека
видим на практика. Ще направим аксесори
за частното свойство name. Ако
имената за аксесорите също са name,
такъв код ще даде грешка:
class User {
private name: string = '';
public set name(name: string) { // ще даде грешка
this.name = name;
}
public get name(): string {
return this.name;
}
}
Нека поправим проблема, например, като преименуваме частното свойство:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Направете клас User, съдържащ
частни свойства за име и възраст.
Направете аксесори на тези свойства.
Модифицирайте сетъра за възраст така, че
да може да се зададе възраст от 0 до
120. Ако бъде указана друга
стойност, трябва да се хвърли изключение.