Приватне особине у ООП-у у JavaScript-у

Особине објекта које се могу читати и писати из спољашњег кода називају се јавним. Постоје и приватне особине, које ће бити доступне само унутар класе.

Имена приватних особина треба почињати симболом #. Поред тога, такве особине морају бити декларисане на почетку кода класе. Урадимо то:

javascriptclass User {
  #name;
}

Сада ћемо уписати податке у нашу особину. То можемо урадити, на пример, у конструктору класе:

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

Направимо сада метод, који ће враћати вредност наше особине:

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

Направимо објекат класе, прослеђујући као параметар име корисника:

javascriptlet user = new User('john');

Покушај да се директно приступи нашој особини изван класе ће резултирати грешком:

javascriptconsole.log(user.#name); // грешка

Али позивање нашег метода омогућиће читање те особине:

javascriptconsole.log(user.show()); // исписаће 'john'
Задание 1

У класи Employee направите три приватне особине: име, плату и године.

Задание 2

Проследите као параметар конструктора вредности ових особина.

Задание 3

Направите метод који ће исписати податке о запосленом.