Pembina dalam Pewarisan OOP dalam JavaScript
Semasa pewarisan, adalah mungkin untuk mengubah suai pembina kelas induk. Mari kita lihat satu contoh. Katakan kita mempunyai kelas induk berikut:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
getName() {
return this.name;
}
getSurn() {
return this.surn;
}
}
Katakan kelas induk diwarisi oleh kelas berikut:
class Student extends User {
}
Katakan kita ingin mengembangkan pembina dalam kelas anak, dengan menambah parameter tambahan kepadanya:
class Student extends User {
constructor(name, surn, year) {
}
}
Dalam kes ini, kita perlu
memanggil pembina
kelas induk melalui super
pada baris pertama:
class Student extends User {
constructor(name, surn, year) {
super();
}
}
Perintah super pada asasnya adalah
pembina kelas induk. Oleh itu,
mari kita hantar parameter yang diperlukan kepadanya:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
}
}
Sekarang dalam kelas anak, tahun pembelajaran akan direkodkan dalam sifat sendiri kelas anak:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Mari buat pengambil (getter) untuk tahun pembelajaran:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
Katakan kelas Employee mewarisi
daripada kelas User daripada
pelajaran ini.
Ubah suai dalam kelas Employee
pembina kelas induk, dengan menambah kepadanya
parameter umur dan gaji.
Buat pengambil (getter) untuk umur dan gaji.