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:
javascriptclass 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:
javascriptclass Student extends User {
}
Katakan kita ingin mengembangkan pembina dalam kelas anak, dengan menambah parameter tambahan kepadanya:
javascriptclass Student extends User {
constructor(name, surn, year) {
}
}
Dalam kes ini, kita perlu
memanggil pembina
kelas induk melalui super
pada baris pertama:
javascriptclass 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:
javascriptclass Student extends User {
constructor(name, surn, year) {
super(name, surn);
}
}
Sekarang dalam kelas anak, tahun pembelajaran akan direkodkan dalam sifat sendiri kelas anak:
javascriptclass Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Mari buat pengambil (getter) untuk tahun pembelajaran:
javascriptclass 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.