Constructor bij overerving in OOP in JavaScript

Bij overerving is het mogelijk om de constructor van de ouder te overschrijven. Laten we een voorbeeld bekijken. Stel dat we de volgende ouderklasse hebben:

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

Stel dat de volgende klasse overerft van de ouderklasse:

javascriptclass Student extends User {
  
}

Stel dat we in de afstammingsklasse de constructor willen uitbreiden door er extra parameters aan toe te voegen:

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

In dit geval moeten we verplicht op de eerste regel de constructor van de ouder aanroepen via super:

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

De opdracht super is in wezen de constructor van de ouder. Laten we er de vereiste parameters aan doorgeven:

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

Laten we het studiejaar in de afstammeling opslaan in een eigen eigenschap van de afstammeling:

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

Laten we een getter maken voor het studiejaar:

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

Stel dat de klasse Employee overerft van de klasse User uit deze les.

Задание 2

Overschrijf in de klasse Employee de constructor van de ouder, en voeg er een parameter voor leeftijd en salaris aan toe.

Задание 3

Maak getters voor de leeftijd en het salaris.