JavaScript да ООПда Хусусий хусусиятлар
Объектнинг ташқаридан ўқиш ва ёзиш мумкин бўлган хусусиятлар оммавий деб аталади. Шунингдек, фақат класс ичидагина дастур бўладиган хусусий хусусиятлар ҳам мавжуд.
Хусусий хусусиятларнинг номлари
# белгисидан бошланиши керак.
Бундан ташқари, бундай хусусиятларни
альбатта класс кодининг бошланиш жойида
эълон қилиш керак.
Келинг, буни амалга оширамиз:
class User {
#name;
}
Энди маълумотларни бизнинг хусусиятга ёзайлик. Буни, масалан, класснинг конструкторида бажариш мумкин:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Энди бизнинг хусусиятнинг қийматини қайтарадиган метод ясайлик:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Класс объектини яратамиз, унга фойдаланувчи исмини параметр сифатида ўткамиз:
let user = new User('john');
Бизнинг хусусиятга класс ташқарисида бевосита мурожаат қилиш уриниши хатоликка олиб келади:
console.log(user.#name); // хатолик
Бизнинг методни чақириш эса бу хусусиятни ўқиш имконини беради:
console.log(user.show()); // 'john' ни чиқаради
Employee классинда учта
хусусий хусусият ясангиз: исм, маош
ва ёш.
Конструкторга параметр сифатида бу хусусиятларнинг қийматларини ўткангиз.
Ишчи ҳақида маълумотларни чиқарувчи метод ясангиз.