OOP da JavaScript da ota-ona metodini chaqirish

Metodni qayta belgilashda, meros oluvchi ota-ona tomonidan qayta belgilangan metodga kirish huquqini yo'qotadi. Biroq, unga kirish hali ham mumkin. Buning uchun super kalit so'zi yordamida amalga oshiriladi, bu ota-ona sinfini ko'rsatadi.

Keling, ota-ona metodiga kirish zarur bo'ladigan misolni ko'rib chiqaylik. Faraz qilaylik, bizda quyidagi ota-ona sinf mavjud:

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

Faraz qilaylik, biz meros oluvchi sinfda ota-ona metodini qayta belgiladik:

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

Shuni payqash mumkinki, qayta belgilangan metodda shart bajarilganda, aslida ota-ona metodining kodi bajariladi. Bu keraksiz kod takrorlashiga olib keladi.

Agar ota-ona metodini chaqirsak, bundan xalos bo'lish mumkin. Buni amalga oshiramiz:

javascriptclass Student extends User {
  setName(name) {
    if (name.length > 0) {
      super.setName(name); // ota-ona metodi
    } else {
      throw new Error('student name error');
    }
  }
}
Задание 1

Quyidagi kod berilgan:

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 sinfida yoshni o'rnatish metodini soddalashtiring, asl ota-ona metodidan foydalangan holda.