Méthodes privées et héritage en POO en JavaScript

Les méthodes privées ne sont pas héritées. Cela est fait intentionnellement pour ne pas violer l'encapsulation. Regardons un exemple. Supposons que nous ayons la classe parente suivante avec une méthode privée :

javascriptclass User {
  setName(name) {
    this.name = name;
  }
  getName() {
    return this.#capeFirst(this.name);
  }
  
  #capeFirst(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

Supposons que la classe suivante hérite de la classe parente :

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.surn;
  }
}

Supposons que la classe enfant veuille utiliser la méthode privée du parent. JavaScript ne le permettra pas et générera une erreur :

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.#capeFirst(this.surn); // entraînera une erreur
  }
}
Задание 1

Essayez dans la classe Employee d'utiliser la méthode privée du parent.