OOP-də Valideyn Metodlarının Yenidən Təyin Edilməsi JavaScript-də
Alt sinif, eyni adlı metod yaradaraq valideynin metodunu yenidən təyin edə bilər. Nümunəyə baxaq. Tutaq ki, bizim aşağıdakı valideyn sinifimiz var:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.name;
}
}
Gəlin alt sinifdə eyni adlı metod yaradaq:
class Student extends User {
setName(name) {
}
}
Bir qayda olaraq, valideyn metodlarının yenidən təyin edilməsi, bu metodun davranışını dəyişdirmək və ya əlavə etmək üçün lazımdır. Gəlin bizim vəziyyətimizdə adın uzunluğunu yoxlama əlavə edək:
class Student extends User {
setName(name) {
if (name.length > 0) {
this.name = name;
} else {
throw new Error('student name error');
}
}
}
Gəlin əmin olaq ki, məhz yenidən təyin edilmiş metod çağırılır. Əvvəlcə alt sinifin obyektini yaradaq:
let student = new Student;
İndi metodumuzu çağıraq, ona düzgün dəyər ötürək:
student.setName('john');
İndi isə metodu, ona səhv dəyər ötürərək çağıraq. Nəticədə konsolda atılan xətanı görəcəyik:
student.setName(''); // xəta
User sinfində
yaş üçün getter və setter edin.
Employee sinfində
yaş setter-ini yenidən təyin edin və onun içində
yaşın 18 ilə 65 arasında olduğunu
yoxlayın.