Constructeur lors de l'héritage en POO en JavaScript

Lors de l'héritage, il est possible de redéfinir le constructeur du parent. Regardons un exemple. Supposons que nous ayons la classe parente suivante :

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
  
  getName() {
    return this.name;
  }
  getSurn() {
    return this.surn;
  }
}

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

javascriptclass Student extends User {
  
}

Supposons que nous voulions dans la classe enfant étendre le constructeur, en y ajoutant des paramètres supplémentaires :

javascriptclass Student extends User {
  constructor(name, surn, year) {
    
  }
}

Dans ce cas, nous devons impérativement appeler en première ligne le constructeur du parent via super :

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super();
  }
}

La commande super est essentiellement le constructeur du parent. Par conséquent, passons-lui les paramètres requis :

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
  }
}

Maintenant, dans l'enfant, l'année d'étude sera enregistrée dans sa propre propriété de l'enfant :

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
}

Créons un getter pour l'année d'étude :

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
  
  getYear() {
    return this.year;
  }
}
Задание 1

Supposons que la classe Employee hérite de la classe User de cette leçon.

Задание 2

Redéfinissez dans la classe Employee le constructeur parent, en y ajoutant un paramètre pour l'âge et le salaire.

Задание 3

Créez des getters pour l'âge et le salaire.