Override Metode Parent dalam OOP JavaScript
Kelas turunan dapat mengoverride metode parent dengan membuat metode dengan nama yang sama. Mari kita lihat contohnya. Misalkan kita memiliki kelas parent berikut:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.name;
}
}
Mari kita buat metode dengan nama yang sama di kelas turunan:
class Student extends User {
setName(name) {
}
}
Biasanya, override metode parent diperlukan untuk mengubah atau menambah perilaku metode tersebut. Dalam kasus kita, mari tambahkan pengecekan panjang nama:
class Student extends User {
setName(name) {
if (name.length > 0) {
this.name = name;
} else {
throw new Error('student name error');
}
}
}
Mari pastikan bahwa yang dipanggil adalah metode yang sudah dioverride. Pertama, buat objek kelas turunan:
let student = new Student;
Sekarang panggil metode kita, berikan nilai yang benar:
student.setName('john');
Sekarang panggil metode, berikan nilai yang tidak benar. Hasilnya, kita akan melihat error yang dilempar di konsol:
student.setName(''); // error
Di kelas User buatlah
getter dan setter untuk usia.
Di kelas Employee override
setter usia dan buatlah di dalamnya
pengecekan bahwa usia antara
18 hingga 65 tahun.