Toegangsfunksies in OOP in TypeScript
Net soos in suiwer JavaScript, kan jy in TypeScript toegangsfunksies (eienskappe) maak: kryters en setters.
In TypeScript moet die name van die toegangsfunksies eger
nie ooreenstem met die name van die eienskappe nie. Kom ons
kyk na dit in die praktyk. Laat ons toegangsfunksies maak
vir die private eienskap name. As ons die name
vir die toegangsfunksies ook name noem,
sal so 'n kode 'n fout gee:
class User {
private name: string = '';
public set name(name: string) { // sal 'n fout gee
this.name = name;
}
public get name(): string {
return this.name;
}
}
Kom ons los die probleem op, byvoorbeeld deur die private eienskap te hernoem:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Maak 'n klas User wat private
eienskappe vir naam en ouderdom bevat.
Maak toegangsfunksies vir hierdie eienskappe.
Wysig die setter vir ouderdom sodat
ouderdom van 0 tot
120 gestel kan word. As enige ander
waarde gespesifiseer word, moet 'n uitsondering gegooi word.