Accessors i OOP i TypeScript
Ligesom i ren JavaScript, kan man i TypeScript lave accessors for egenskaber: getters og setters.
I TypeScript må navnene på accessors dog ikke
vare det samme som egenskabernes navne. Lad os
se på det i praksis. Lad os lave accessors
for den private egenskab name. Hvis
navnene for accessors også gives som name,
vil sådan en kode give en fejl:
class User {
private name: string = '';
public set name(name: string) { // vil give en fejl
this.name = name;
}
public get name(): string {
return this.name;
}
}
Lad os rette problemet, for eksempel ved at omdøbe den private egenskab:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Lav en klasse User, som indeholder
private egenskaber med navn og alder.
Lav accessors for disse egenskaber.
Modificer alder-settersen sådan, at
alderen kan sættes fra 0 til
120. Hvis der angives en anden
værdi, skal der kastes en undtagelse.