Privaat Eienskappe in OOP in JavaScript

Eienskappe van 'n objek wat van buite gelees en geskryf kan word, word publieke genoem. Daar is ook privaat eienskappe, wat slegs binne die klas toeganklik sal wees.

Die name van privaat eienskappe moet begin met die simbool #. Daarbenewens moet sulke eienskappe noodwendig aan die begin van die klas se kode verklaar word. Kom ons doen dit:

javascriptclass User {
  #name;
}

Laat ons nou data in ons eienskap skryf. Dit kan gedoen word, byvoorbeeld, in die konstruktor van die klas:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
}

Kom ons maak nou 'n metode wat die waarde van ons eienskap sal teruggee:

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
  
  show() {
    return this.#name;
  }
}

Kom ons skep 'n objek van die klas, en gee die gebruikersnaam as parameter deur:

javascriptlet user = new User('john');

'n Poging om direk buite die klas na ons eienskap te probeer toegang, sal lei tot 'n fout:

javascriptconsole.log(user.#name); // fout

Maar die roep van ons metode sal dit moonlijk maak om hierdie eienskap te lees:

javascriptconsole.log(user.show()); // sal 'john' uitvoer
Задание 1

Maak in die klas Employee drie privaat eienskappe: naam, salaris en ouderdom.

Задание 2

Gee die waardes van hierdie eienskappe as parameter in die konstruktor deur.

Задание 3

Maak 'n metode wat die data van die werknemer sal uitvoer.