JavaScript да ООПда приват методлар
Приват бўлганлар факат хоссаларгина эмас, балки методлар ҳам. Одатда приват қилиб ёрдамчи методларни қиладилар, шунда улар ташқаридан классдан tasodifan чақирилиб қолмаслиги учун.
Келгила, мисолда кўрамиз. Бизда куйидаги класс бор деб фараз қилайлик:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Бу классда приват метод ясайлик, у параметр сифатида сатрни қабул қилади ва унинг биринчи белгисини бош ҳарф қилади:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Ўз ёрдамчи методимиздан бошқа метод ичида фойдаланамиз:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Келгила, текширамиз. Классимизнинг объектини ясаймиз:
let user = new User('john');
Ўрдамчи методдан фойдаланувчи публик методни чақирайлик:
console.log(user.show());
Куйидаги кодда ёрдамчи методни приват қилинг:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '
;
}
}