Акцессори у ООП у TypeScript-у
Такође, као и у чистом JavaScript-у, у TypeScript-у се могу правити акцессори својстава: геттери и сеттери.
У TypeScript-у, међутим, имена акцессора не
смeју да се поклапају са именима својстава. Хајде
да погледамо на пракси. Направимо акцессоре
за приватно својство name. Aкo
имена за акцессоре дамо такође name,
такaв код ће дати грешку:
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. Aкo је наведена друга вредност,
треба да се баци изузетак.