Aksesori OOP TypeScript
Tāpat kā tīrajā JavaScript, arī TypeScript var izveidot aksesorus īpašībām: geterus un seterus.
TypeScript tomēr aksesoru nosaukumi nedrīkst
sakrist ar īpašību nosaukumiem. Apskatīsim
to praksē. Izveidosim aksesorus
privātajai īpašībai name. Ja
aksesoriem dot arī nosaukumu name,
tad šāds kods izvadīs kļūdu:
class User {
private name: string = '';
public set name(name: string) { // izvadīs kļūdu
this.name = name;
}
public get name(): string {
return this.name;
}
}
Izlabosim problēmu, piemēram, pārdēvējot privāto īpašību:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Izveidojiet klasi User, kas satur
privātas īpašības ar vārdu un vecumu.
Izveidojiet šo īpašību aksesorus.
Modificējiet vecuma seteri tā, lai
varētu iestatīt vecumu no 0 līdz
120. Ja tiks norādīta cita
vērtība, jāizmet izņēmums.