Hierarchia dedičnosti tried v OOP v JavaScripte

Môžete vykonať dedenie od triedy, ktorá sama je potomkom. Pozrime sa na príklad. Nech máme nasledujúcu rodičovskú triedu:

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

Od tejto triedy dedí nasledujúca trieda:

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

A od tejto triedy dedí ešte jedna trieda:

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

Vytvorte triedu Employee, ktorá bude dediť od triedy User.

Задание 2

Vytvorte triedu Programmer, ktorá bude dediť od triedy Employee.

Задание 3

Vytvorte triedy Designer, ktorá bude dediť od triedy Employee.

Задание 4

Pridajte do vytvorených tried rôzne metódy.