Выклік пераазначанага метаду ў ААП у JavaScript

Пры пераазначэнні нашчадак губляе доступ да пераазначанага метаду бацькі. Аднак, атрымаць доступ да яго ўсё роўна можна. Гэта робіцца з дапамогай ключавога слова super, якое паказвае на бацькоўскі клас.

Давайце паглядзім на прыкладзе, калі нам можа спатрэбіцца доступ да бацькоўскага метаду. Няхай у нас ёсць наступны клас-бацька:

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

Няхай мы ў класе-нашчадку пераазначылі метад бацькі:

javascriptclass Student extends User {
  setName(name) {
    if (name.length > 0) {
      this.name = name;
    } else {
      throw new Error('student name error');
    }
  }
}

Можна заўважыць, што ў пераазначаным метадзе пры выкананні ўмовы фактычна выконваецца код бацькоўскага метаду. Атрымліваецца не патрэбнае дубляванне кода.

Можна ад яго пазбавіцца, калі выклікаць метад бацькі. Давайце зробім гэта:

javascriptclass Student extends User {
  setName(name) {
    if (name.length > 0) {
      super.setName(name); // метад бацькі
    } else {
      throw new Error('student name error');
    }
  }
}
Задание 1

Дадзены наступны код:

javascriptclass User {
  setAge(age) {
    if (age >= 0) {
      this.age = age;
    } else {
      throw new Error('need age more 0');
    }
  }
}
class Employee {
  setAge(age) {
    if (age <= 120) {
      if (age >= 0) {
        this.age = age;
      } else {
        throw new Error('need age more 0');
      }
    } else {
      throw new Error('need age less 120');
    }
  }
}

У класе Employee выпраўце спрасціце сетар узросту, выкарыстаўшы аргінальны метад бацькі.