Геттерҳои хусусиятҳо дар ООП дар JavaScript
Бигзор мо синфи зеринро бо хусусиятҳои хусусӣ дошта бошем:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
}
Чуноне ки шумо мебинед, ин хусусиятҳо як маротиба дар замони сохтани объект муқаррар карда мешаванд. Аммо ҳоло, хондани ин хусусиятҳо имконнопазир аст, зеро онҳо хусусӣ мебошанд ва методҳои мувофиқ барои ин вуҷуд надоранд.
Биёед барои хусусиятҳои мо методҳои махсус созем,
ки имкон медиҳанд ин хусусиятҳоро хонда тавонем.
Чунин методҳо (онҳоро геттер меноманд) бояд
бо калимаи get оғоз шаванд, ва сипас бояд
номи хусусияти хондашаванда ояд.
Биёед геттерҳои хусусиятҳои моро созем:
class User {
#name;
#surn;
constructor(name, surn) {
this.#name = name;
this.#surn = surn;
}
getName() {
return this.#name;
}
getSurn() {
return this.#surn;
}
}
Биёед кори онҳоро санҷем. Як объект созем, параметрҳо бо додаҳои корбарро гузаронем:
let user = new User('john', 'smit');
Ин додаҳоро бо истифода аз геттерҳо хонем:
console.log(user.getName());
console.log(user.getSurn());
Дар синфи Employee се
хусусияти хусусӣ созем: ном, маоҳ
ва синну сол.
Қиматҳои ин хусусиятҳоро параметр ба конструктор гузаронед.
Геттерҳое созед, ки қиматҳои ҳар яке аз хусусиятҳои моро чоп кунанд.