Aksessorer i OOP i TypeScript
Også, akkurat som i ren JavaScript, i TypeScript kan man lage aksessorer for egenskaper: gettere og settere.
I TypeScript, derimot, skal ikke navnene på aksessorene
samme med navnene på egenskapene. La oss
se på det i praksis. La oss lage aksessorer
for den private egenskapen name. Hvis
navnene for aksessorene også er name,
vil slik kode gi en feil:
class User {
private name: string = '';
public set name(name: string) { // vil gi feil
this.name = name;
}
public get name(): string {
return this.name;
}
}
La oss fikse problemet, for eksempel ved å omdøpe den private egenskapen:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Lag en klasse User som inneholder
private egenskaper med navn og alder.
Lag aksessorer for disse egenskapene.
Modifiser setteren for alder slik at
alder kan settes fra 0 til
120. Hvis det angis en annen
verdi, skal det kastes et unntak.