Privātās īpašības mantojumā OOP JavaScript

Privātās īpašības netiek mantotas. Bet pēctecis var tās manipulēt caur vecāka publiskajām metodēm. Apskatīsim to praksē. Pieņemsim, ka mums ir šāda vecāku klase ar privātu īpašību un tās getter un setter:

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

Pieņemsim, ka no vecāka manto šāds pēctecis:

javascriptclass Student extends User {
  
}

Izveidosim pēcteča objektu:

javascriptlet student = new Student;

Izmantosim vecāka metodi, lai ierakstītu tā privāto īpašību:

javascriptstudent.setName('john');

Izmantosim vecāka metodi, lai nolasītu tā privāto īpašību:

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

Dota šāda vecāku klase:

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

Izveidojiet klasi Employee, kura mantos no šī vecāka.

Задание 2

Izveidojiet klases Employee objektu un izsauciet mantotās setter un getter.

Задание 3

Klasē Employee izveidojiet šādu metodi:

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

Pārliecinieties, ka koda metode novedīs pie kļūdas.