Privát metódusok öröklődéskor az OOP-ben JavaScriptben

A privát metódusok nem öröklődnek. Ez szándékosan van így kialakítva, hogy ne sérüljön az encapsuláció. Nézzünk egy példát. Tegyük fel, hogy a következő szülő osztályunk van privát metódussal:

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

Tegyük fel, hogy a szülő osztályból örököl a következő osztály:

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

Tegyük fel, hogy az utód szeretné használni a szülő privát metódusát. A JavaScript ezt nem engedélyezi és hibát jelez:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.#capeFirst(this.surn); // hiba történik
  }
}
Задание 1

Próbálja ki az Employee osztályban használni a szülő privát metódusát.