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:
javascriptclass User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Misalkan dari induknya diwarisi turunan berikut:
javascriptclass Student extends User {
}
Mari buat objek turunannya:
javascriptlet student = new Student;
Mari gunakan metode dari induknya untuk menulis properti privatnya:
javascriptstudent.setName('john');
Mari gunakan metode dari induknya untuk membaca properti privatnya:
javascriptlet name = student.getName();
console.log(name);
Diberikan kelas induk berikut:
javascriptclass 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:
javascriptgetFull() {
return this.#name + ' ' + this.#surn;
}
Pastikan bahwa kode metode tersebut menyebabkan error.