პრივატული მეთოდები OOP-ში JavaScript-ში
პრივატული შეიძლება იყოს არა მხოლოდ თვისებები, არამედ მეთოდებიც. ჩვეულებრივ პრივატულს ხდიან დამხმარე მეთოდებს, რათა ისინი შემთხვევით არ შეიძლებოდეს გამოძახება კლასის გარედან.
მოდით შევხედოთ მაგალითს. მოდით, გვქონდეს შემდეგი კლასი:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
მოდით ამ კლასში გავაკეთოთ პრივატული მეთოდი, რომელიც პარამეტრად მიიღებს სტრიქონს და გახდის დიდ ასოს მის პირველ სიმბოლოს:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
მოდით გამოვიყენოთ ჩვენი დამხმარე მეთოდი სხვა მეთოდის შიგნით:
javascriptclass User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#cape(this.#name);
}
#cape(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
მოდით შევამოწმოთ. შევქმნათ ჩვენი კლასის ობიექტი:
javascriptlet user = new User('john');
მოდით გამოვიძახოთ პუბლიკური მეთოდი, რომელიც იყენებს დამხმარეს:
javascriptconsole.log(user.show());
Задание 1
შემდეგ კოდში გახადეთ დამხმარე მეთოდი პრივატული:
javascriptclass Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '₾';
}
}