Aksesoriai OOP TypeScript
Taip pat, kaip ir gryname JavaScript, TypeScript galima daryti aksesorius savybėms: getterius ir setterius.
TypeScript, tačiau, aksesorių pavadinimai neturi
sutapti su savybių pavadinimais. Pažiūrėkime
praktiškai. Sukurkime aksesorius
privaciajai savybei name. Jei
aksesoriams suteiksime vardus taip pat name,
toks kodas išmes klaidą:
class User {
private name: string = '';
public set name(name: string) { // išmes klaidą
this.name = name;
}
public get name(): string {
return this.name;
}
}
Išspręskime problemą, pavyzdžiui, pervadinus privatųją savybę:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
Sukurkite klasę User, kurioje yra
privačios savybės su vardu ir amžiumi.
Sukurkite šių savybių aksesorius.
Modifikuokite amžiaus setterį taip, kad
būtų galima nustatyti amžių nuo 0 iki
120. Jei bus nurodyta kita
reikšmė, turi būti išmesta išimtis.