Ўзбек тилида ООП да ўзгартирилган методни чақириш (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 синфида ёш сеттерини соддалаштиринг, асл ота-онанинг методини ишлатган ҳолингизда.