Metode Private dalam Pewarisan OOP di JavaScript

Metode private tidak diwariskan. Hal ini sengaja dilakukan agar tidak melanggar enkapsulasi. Mari kita lihat contohnya. Misalkan kita memiliki kelas induk berikut dengan metode private:

javascriptclass User {
  setName(name) {
    this.name = name;
  }
  getName() {
    return this.#capeFirst(this.name);
  }
  
  #capeFirst(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

Misalkan kelas induk diwarisi oleh kelas berikut:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.surn;
  }
}

Misalkan kelas turunan ingin menggunakan metode private dari induk. JavaScript tidak akan mengizinkannya dan akan memberikan error:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.#capeFirst(this.surn); // akan error
  }
}
Задание 1

Cobalah dalam kelas Employee untuk menggunakan metode private induk.