Privata egenskaper vid arv i OOP i JavaScript

Privata egenskaper ärvs inte. Men ett barn kan manipulera dem genom förälderns publika metoder. Låt oss titta på det i praktiken. Låt oss säga att vi har följande förälderklass med en privat egenskap och dess getter och setter:

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

Låt följande barnklass ärva från föräldern:

javascriptclass Student extends User {
  
}

Låt oss skapa ett objekt av barnklassen:

javascriptlet student = new Student;

Låt oss använda förälderns metod för att sätta dess privata egenskap:

javascriptstudent.setName('john');

Låt oss använda förälderns metod för att läsa dess privata egenskap:

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

Följande förälderklass är given:

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

Skapa klassen Employee som kommer att ärva från denna förälder.

Задание 2

Skapa ett objekt av klassen Employee och anropa de ärvda setterna och getterna.

Задание 3

Gör följande metod i klassen Employee:

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

Övertyga dig om att metodens kod leder till ett fel.