Аксцесори во ООП во 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. Доколку е наведена друга
вредност, треба да се фрли исклучок.