Аксессорҳо дар ООП дар 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 муқаррар кардан мумкин бошад. Агар арзиши дигар муайян карда шавад, истисно бояд партофта шавад.