Прыватныя ўласцівасці пры наследаванні ў ААП у JavaScript

Прыватныя ўласцівасці не наследуюцца. Але нашчадак можа маніпуляваць імі праз публічныя метады бацькі. Давайце паглядзім на практыцы. Хай у нас ёсць наступны клас-бацька з прыватнай уласцівасцю і яго гетэрам і сетэрам:

javascriptclass User {
  #name;
  
  setName(name) {
    this.#name = name;
  }
  getName() {
    return this.#name;
  }
}

Хай ад бацькі наследуе наступны нашчадак:

javascriptclass Student extends User {
  
}

Стварым аб'ект нашчадка:

javascriptlet student = new Student;

Скарыстаемся метадам бацькі, каб запісаць яго прыватную ўласцівасць:

javascriptstudent.setName('john');

Скарыстаемся метадам бацькі, каб прачытаць яго прыватную ўласцівасць:

javascriptlet name = student.getName();
console.log(name);
Задание 1

Дадзены наступны клас-бацька:

javascriptclass User {
  #name;
  #surn;
  
  setName(name) {
    this.#name = name;
  }
  getName() {
    return this.#name;
  }
  
  setSurn(surn) {
    this.#surn = surn;
  }
  getSurn() {
    return this.#surn;
  }
}

Зрабіце клас Employee, які будзе наследаваць ад гэтага бацькі.

Задание 2

Стварыце аб'ект класа Employee і выклічце ўспадкаваныя сетэры і гетэры.

Задание 3

У класе Employee зрабіце наступны метад:

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

Пераканайцеся, што код метаду прывядзе да памылкі.