პრივატული მეთოდები 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 + '₾';
  }
}