JavaScript'te OOP'de Geçersiz Kılınan Metotların Çağrılması

Geçersiz kılma işleminde, alt sınıf üst sınıfta geçersiz kılınan metoda erişimi kaybeder. Ancak, yine de ona erişmek mümkündür. Bu, ebeveyn sınıfı ifade eden super anahtar kelimesi kullanılarak yapılır.

Bir örnek üzerinden, ebeveyn metoda erişime ne zaman ihtiyaç duyabileceğimizi görelim. Aşağıdaki üst sınıfa sahip olduğumuzu varsayalım:

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

Alt sınıfta ebeveynin metodunu geçersiz kıldığımızı varsayalım:

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

Geçersiz kılınan metotta, koşul sağlandığında aslında ebeveyn metodunun kodunun çalıştığı görülebilir. Bu, gereksiz kod tekrarına yol açar.

Ebeveyn metodunu çağırarak bundan kurtulabiliriz. Bunu yapalım:

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

Aşağıdaki kod verilmiştir:

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 sınıfında, orijinal ebeveyn metodunu kullanarak yaş belirleme metodunu basitleştirin.