Private Methoden in OOP in JavaScript

Nicht nur Eigenschaften können privat sein, sondern auch Methoden. In der Regel werden Hilfsmethoden privat gemacht, damit sie nicht versehentlich von außerhalb der Klasse aufgerufen werden können.

Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die folgende Klasse:

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

Erstellen wir in dieser Klasse eine private Methode, die einen String als Parameter entgegennimmt und dessen ersten Buchstaben großschreibt:

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

Verwenden wir unsere Hilfsmethode in einer anderen Methode:

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

Lassen Sie uns das überprüfen. Erstellen wir ein Objekt unserer Klasse:

javascriptlet user = new User('john');

Rufen wir die öffentliche Methode auf, die die Hilfsmethode verwendet:

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

Machen Sie im folgenden Code die Hilfsmethode privat:

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