JavaScript'te OOP'de Özel Özellikler

Nesnenin, dışarıdan okunabilen ve yazılabilen özelliklerine genel denir. Ayrıca, yalnızca sınıfın içinde erişilebilen özel özellikler de vardır.

Özel özellik isimleri # sembolü ile başlamalıdır. Ayrıca, bu tür özellikler mutlaka sınıf kodunun başında tanımlanmalıdır. Hadi bunu yapalım:

javascriptclass User {
  #name;
}

Şimdi verileri özelliğimize yazalım. Bu, örneğin sınıfın yapıcısında yapılabilir:

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

Şimdi özelliğimizin değerini döndürecek bir metod yapalım:

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

Sınıfın bir nesnesini oluşturalım, isimi parametre olarak ileterek:

javascriptlet user = new User('john');

Sınıfın dışında doğrudan özelliğimize erişme girişimi hataya yol açacaktır:

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

Metodumuzun çağrılması ise bu özelliği okumamızı sağlayacaktır:

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

Employee sınıfında üç özel özellik yapın: isim, maaş ve yaş.

Задание 2

Bu özelliklerin değerlerini yapıcıya parametre olarak iletin.

Задание 3

Çalışanın verilerini gösterecek bir metod yapın.