Іерархія наследавання класаў у ААП у JavaScript

Можна выконваць наследаванні ад класа, які сам з'яўляецца нашчадкам. Давайце паглядзім на прыкладзе. Хай у нас ёсць наступны клас-бацька:

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

Ад гэтага класа наследуе наступны клас:

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

А ад гэтага класа наследуе яшчэ адзін клас:

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

Зрабіце клас Employee, які будзе наследаваць ад класа User.

Задание 2

Зрабіце клас Programmer, які будзе наследаваць ад класа Employee.

Задание 3

Зрабіце класы Designer, які будзе наследаваць ад класа Employee.

Задание 4

Дадайце ў створаныя вамі класы розныя метады.