Gerarchia dell'ereditarietà delle classi nella OOP in JavaScript

È possibile ereditare da una classe che a sua volta è una discendente. Diamo un'occhiata a un esempio. Supponiamo di avere la seguente classe genitore:

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

Da questa classe eredita la seguente classe:

javascriptclass Student extends User {
  setYear(year) {
    this._year = year;
  }
  getYear() {
    return this._year;
  }
}

E da questa classe eredita un'altra classe:

javascriptclass StudentProgrammer extends Student {
  setSkill(skill) {
    this._skill = skill;
  }
  getSkill() {
    return this._skill;
  }
}
Задание 1

Crea una classe Employee che erediterà dalla classe User.

Задание 2

Crea una classe Programmer che erediterà dalla classe Employee.

Задание 3

Crea una classe Designer che erediterà dalla classe Employee.

Задание 4

Aggiungi ai classi che hai creato vari metodi.