Փրայվեթ հատկությունները ժառանգման ժամանակ OOP-ում JavaScript-ում

Փրայվեթ հատկությունները ժառանգված չեն։ Բայց ժառանգը կարող է կառավարել դրանք ծնողի պաբլիկ մեթոդների միջոցով։ Եկեք տեսնենք գործնականում։ Ենթադրենք ունենք հետևյալ ծնողի կլասը փրայվեթ հատկությամբ և դրա գետտերով ու սետտերով։

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

Ենթադրենք ծնողից ժառանգում է հետևյալ ժառանգը։

javascriptclass Student extends User {
  
}

Ստեղծենք ժառանգի օբյեկտը։

javascriptlet student = new Student;

Օգտագործենք ծնողի մեթոդը, որպեսզի գրենք նրա փրայվեթ հատկությունը։

javascriptstudent.setName('john');

Օգտագործենք ծնողի մեթոդը, որպեսզի կարդանք նրա փրայվեթ հատկությունը։

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

Տրված է հետևյալ ծնողի կլասը։

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

Ստեղծեք Employee կլասը, որը կժառանգի այս ծնողից։

Задание 2

Ստեղծեք Employee կլասի օբյեկտ և կանչեք ժառանգված սետտերներն ու գետտերները։

Задание 3

Employee կլասում ստեղծեք հետևյալ մեթոդը։

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

Համոզվեք, որ մեթոդի կոդը կհանգեցնի սխալի։