JavaScript'te OOP'de Ebeveyn Yöntemlerini Geçersiz Kılma

Bir alt sınıf, aynı isimde bir yöntem oluşturarak ebeveynin yöntemini geçersiz kılabilir. Bir örnek üzerinden inceleyelim. Aşağıdaki ebeveyn sınıfımız olduğunu varsayalım:

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

Alt sınıfta aynı isimde bir yöntem oluşturalım:

javascriptclass Student extends User {
  setName(name) {
    
  }
}

Genellikle, ebeveyn yöntemlerini geçersiz kılmak, bu yöntemin davranışını değiştirmek veya tamamlamak için gereklidir. Bizim durumumuzda, isim uzunluğu için bir kontrol ekleyelim:

javascriptclass Student extends User {
  setName(name) {
    if (name.length > 0) {
      this.name = name;
    } else {
      throw new Error('öğrenci isim hatası');
    }
  }
}

Gerçekten de geçersiz kılınan yöntemin çağrıldığından emin olalım. İlk olarak, alt sınıfın bir nesnesini oluşturalım:

javascriptlet student = new Student;

Şimdi yöntemimizi, geçerli bir değer ileterek çağıralım:

javascriptstudent.setName('john');

Şimdi de yöntemi, geçersiz bir değer ileterek çağıralım. Sonuç olarak, konsolda fırlatılan hatayı göreceğiz:

javascriptstudent.setName(''); // hata
Задание 1

User sınıfında yaş için getter ve setter yapın.

Задание 2

Employee sınıfında yaş setter'ını geçersiz kılın ve içinde yaşın 18 ila 65 arasında olduğunu kontrol edin.