Propriétés privées lors de l'héritage en POO en JavaScript

Les propriétés privées ne sont pas héritées. Mais la classe enfant peut les manipuler via les méthodes publiques du parent. Voyons cela en pratique. Supposons que nous ayons la classe parente suivante avec une propriété privée et son accesseur (getter) et mutateur (setter) :

javascriptclass User {
  #name;
  
  setName(name) {
    this.#name = name;
  }
  getName() {
    return this.#name;
  }
}

Supposons que la classe suivante hérite du parent :

javascriptclass Student extends User {
  
}

Créons un objet de la classe enfant :

javascriptlet student = new Student;

Utilisons la méthode du parent pour définir sa propriété privée :

javascriptstudent.setName('john');

Utilisons la méthode du parent pour lire sa propriété privée :

javascriptlet name = student.getName();
console.log(name);
Задание 1

Voici la classe parente suivante :

javascriptclass User {
  #name;
  #surn;
  
  setName(name) {
    this.#name = name;
  }
  getName() {
    return this.#name;
  }
  
  setSurn(surn) {
    this.#surn = surn;
  }
  getSurn() {
    return this.#surn;
  }
}

Créez une classe Employee, qui héritera de ce parent.

Задание 2

Créez un objet de la classe Employee et appelez les mutateurs et accesseurs hérités.

Задание 3

Dans la classe Employee, créez la méthode suivante :

javascriptgetFull() {
  return this.#name + ' ' + this.#surn;
}

Assurez-vous que le code de la méthode entraîne une erreur.