აქსესორები OOP-ში TypeScript-ში
ისევე, როგორც სუფთა JavaScript-ში, TypeScript-შიც შესაძლებელია თვისებების აქსესორების შექმნა: გეთერები და სეთერები.
თუმცა, TypeScript-ში აქსესორების სახელები არ
უნდა ემთხვეოდეს თვისებების სახელებს. მოდით
პრაქტიკულად ვნახოთ. შევქმნათ აქსესორები
პრივატული თვისებისთვის name. თუ
აქსესორების სახელებს ასევე name
დავარქმევთ, მაშინ ასეთი კოდი შეცდომას
დააგენერირებს:
class User {
private name: string = '';
public set name(name: string) { // დააგენერირებს შეცდომას
this.name = name;
}
public get name(): string {
return this.name;
}
}
მოდით, გამოვასწოროთ პრობლემა, მაგალითად, პრივატული თვისების გადარქმევით:
class User {
private _name: string = '';
public set name(name: string) {
this._name = name;
}
public get name(): string {
return this._name;
}
}
შექმენით კლასი User, რომელიც
შეიცავს პრივატულ თვისებებს სახელისა და
ასაკისთვის. შექმენით ამ თვისებების
აქსესორები.
მოდიფიცირება გაუკეთეთ ასაკის სეთერს ისე,
რომ ასაკის მნიშვნელობა 0-დან
120-მდე დაისეთოს. თუ სხვა
მნიშვნელობა იქნება მითითებული, უნდა
გაისროლოს გამონაკლისი.