Privaatsed omadused pärimisel OOP-s JavaScriptis

Privaatseid omadusi ei pärita. Kuid järglane saab nendega manipuleerida läbi vanema avalike meetodite. Vaatame seda praktikas. Olgu meil järgmine vanemaklass privaatse omaduse ja selle getteri ja setteriga:

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

Olgu, et vanemast pärineb järgmine järglane:

javascriptclass Student extends User {
  
}

Loome järglase objekti:

javascriptlet student = new Student;

Kasutame vanema meetodit, et kirjutada selle privaatne omadus:

javascriptstudent.setName('john');

Kasutame vanema meetodit, et lugeda selle privaatne omadus:

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

Antud on järgmine vanemaklass:

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

Tehke klass Employee, mis pärineb sellelt vanemalt.

Задание 2

Looge klassi Employee objekt ja kutsuge päritud setterid ja getterid.

Задание 3

Klassis Employee tehke järgmine meetod:

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

Veenduge, et meetodi kood viib veani.