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:
javascriptclass 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:
javascriptclass 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:
javascriptclass 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:
javascriptlet user = new User('john');
Yordamchi usuldan foydalanadigan ochiq usulni chaqiraylik:
javascriptconsole.log(user.show());
Задание 1
Quyidagi kodda yordamchi usulni privat qiling:
javascriptclass Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '₽';
}
}