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:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.name;
}
}
Alt sınıfta aynı isimde bir yöntem oluşturalım:
class 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:
class 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:
let student = new Student;
Şimdi yöntemimizi, geçerli bir değer ileterek çağıralım:
student.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:
student.setName(''); // hata
User sınıfında yaş için
getter ve setter yapın.
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.