Приватна својства при наслеђивању у ООП-у у 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;
}

Уверите се да код метода доводи до грешке.