Properti Privat dalam Pewarisan OOP di JavaScript
Properti privat tidak diwariskan. Namun, turunannya dapat memanipulasinya melalui metode publik dari induknya. Mari kita lihat dalam praktiknya. Misalkan kita memiliki kelas induk berikut dengan properti privat serta getter dan setternya:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Misalkan dari induknya diwarisi turunan berikut:
class Student extends User {
}
Mari buat objek turunannya:
let student = new Student;
Mari gunakan metode dari induknya untuk menulis properti privatnya:
student.setName('john');
Mari gunakan metode dari induknya untuk membaca properti privatnya:
let name = student.getName();
console.log(name);
Diberikan kelas induk berikut:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Buatlah kelas Employee,
yang akan mewarisi
dari induk ini.
Buat objek dari kelas Employee
dan panggil setter serta getter
yang diwariskan.
Dalam kelas Employee buatlah
metode berikut:
getFull() {
return this.#name + ' ' + this.#surn;
}
Pastikan bahwa kode metode tersebut menyebabkan error.