Vecāku metožu pārrakstīšana OOP JavaScript
Bērnu klase var pārrakstīt vecāka metodi, izveidojot metodi ar tādu pašu nosaukumu. Apskatīsim piemērā. Pieņemsim, ka mums ir šāda vecāku klase:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.name;
}
}
Izveidosim bērnu klasē tādas pašas metodes:
class Student extends User {
setName(name) {
}
}
Parasti vecāka metodes pārrakstīšana ir nepieciešama, lai mainītu vai papildinātu šīs metodes darbību. Mūsu gadījumā pievienosim vārda garuma pārbaudi:
class Student extends User {
setName(name) {
if (name.length > 0) {
this.name = name;
} else {
throw new Error('student name error');
}
}
}
Pārliecināsimies, ka tiek izsaukta tieši pārrakstītā metode. Vispirms izveidosim objektu bērnu klases:
let student = new Student;
Tagad izsauksim mūsu metodi, padodot tai korektu vērtību:
student.setName('john');
Un tagad izsauksim metodi, padodot tai nekorektu vērtību. Rezultātā konsolē redzēsim izmesto kļūdu:
student.setName(''); // kļūda
Klasē User izveidojiet
vecuma getter un setter.
Klasē Employee pārrakstiet
vecuma setter un izveidojiet tajā
pārbaudi, ka vecums ir no
18 līdz 65 gadiem.