JavaScriptda OOPda Privat Usullar
Nafaqat xususiyatlar, balki usullar ham privat bo‘lishi mumkin. Odatda yordamchi usullar privat qilinadi, ular tashqaridan tasodifan chaqirilmasligi uchun.
Keling, bir misolni ko'rib chiqaylik. Quyidagi klassimiz bor deb faraz qilaylik:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Keling, ushbu klassda privat usul yarataylik, u satrni parametr sifatida qabul qiladi va uning birinchi belgisini bosh harf qiladi:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Keling, yordamchi usulimizdan boshqa usul ichida foydalanaylik:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
Keling, tekshirib ko'raylik. Keling, klassimizning ob'ektini yaratamiz:
let user = new User('john');
Yordamchi usuldan foydalanadigan ochiq usulni chaqiraylik:
console.log(user.show());
Quyidagi kodda yordamchi usulni privat qiling:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '₽';
}
}