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

Яратган классларингизга турли усуллар қўшинг.