Privātās metodes mantojumā OOP JavaScript

Privātās metodes netiek mantotas. Tas ir darīts ar nolūku, lai nepārkāptu inkapsulāciju. Apskatīsim to ar piemēru. Pieņemsim, ka mums ir šādi vecāku klase ar privātu metodi:

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

Pieņemsim, ka no vecāku klases manto šāda klase:

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

Pieņemsim, ka pēctecis vēlas izmantot vecāka privāto metodi. JavaScript to neļaus un izvadīs kļūdu:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.#capeFirst(this.surn); // radīsies kļūda
  }
}
Задание 1

Pamēģiniet klasē Employee izmantot vecāka privāto metodi.