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

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.

Задание 2

Buat objek dari kelas Employee dan panggil setter serta getter yang diwariskan.

Задание 3

Dalam kelas Employee buatlah metode berikut:

javascriptgetFull() {
  return this.#name + ' ' + this.#surn;
}

Pastikan bahwa kode metode tersebut menyebabkan error.