Приватне методе при наслеђивању у ООП у JavaScript

Приватне методе се не наслеђују. Ово је урађено намерно, да се не би нарушила инкапсулација. Хајде да погледамо на примеру. Нека имамо следећи родитељски клас са приватним методом:

javascriptclass User {
  setName(name) {
    this.name = name;
  }
  getName() {
    return this.#capeFirst(this.name);
  }
  
  #capeFirst(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

Нека од родитељског класа наслеђује следећи клас:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.surn;
  }
}

Нека потомак жели да искористи приватни метод родитеља. JavaScript то неће дозволити и исписаће грешку:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.#capeFirst(this.surn); // биће грешка
  }
}
Задание 1

Покушајте у класу Employee да искористите приватни метод родитеља.