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:
class 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:
class 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:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.#capeFirst(this.surn); // akan error
}
}
Cobalah dalam kelas Employee
untuk menggunakan metode private
induk.