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;
  }
}
Задание 1

Katakan kelas Employee mewarisi daripada kelas User daripada pelajaran ini.

Задание 2

Ubah suai dalam kelas Employee pembina kelas induk, dengan menambah kepadanya parameter umur dan gaji.

Задание 3

Buat pengambil (getter) untuk umur dan gaji.