Privát metódusok az OOP-ben JavaScriptben

Nem csak tulajdonságok lehetnek privátak, hanem metódusok is. Általában segédmetódusokat tesznek priváttá, hogy véletlenül ne lehessen kívülről meghívni őket az osztályon kívül.

Nézzünk egy példát. Tegyük fel, hogy van a következő osztályunk:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
}

Tegyünk ebbe az osztályba egy privát metódust, ami paraméterként fogad egy sztringet és nagybetűssé teszi az első karakterét:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
  
  #cape(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

Használjuk fel segédmetódusunkat egy másik metóduson belül:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#cape(this.#name);
  }
  
  #cape(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

Teszteljük. Hozzunk létre egy objektumot az osztályunkból:

javascriptlet user = new User('john');

Hívjuk meg a publikus metódust, ami a segédmetódust használja:

javascriptconsole.log(user.show());
Задание 1

A következő kódban tegye priváttá a segédmetódust:

javascriptclass Employee {
  constructor(name, salary) {
    this.name = name;
    this.salary = salary;
  }
  
  getSalary() {
    return this.addSign(this.salary);
  }
  
  addSign(num) {
    return num + '
;
  }
}