Sifat Persendirian dalam OOP dalam JavaScript

Sifat objek yang boleh dibaca dan ditulis dari luar dipanggil awam. Terdapat juga sifat persendirian, yang hanya akan boleh diakses di dalam kelas.

Nama sifat persendirian perlu dimulakan dengan simbol #. Selain itu, sifat sedemikian semestinya diisytiharkan pada awal kod kelas. Mari kita lakukan ini:

javascriptclass User {
  #name;
}

Sekarang mari kita catat data ke dalam sifat kita. Ini boleh dilakukan, contohnya, dalam pembina kelas:

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

Sekarang mari buat kaedah, yang akan mengembalikan nilai sifat kita:

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

Mari buat objek kelas, dengan menghantar nama pengguna sebagai parameter:

javascriptlet user = new User('john');

Cubaan untuk merujuk secara langsung kepada sifat kita di luar kelas akan menyebabkan ralat:

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

Dan memanggil kaedah kita akan membenarkan sifat ini dibaca:

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

Dalam kelas Employee, buatlah tiga sifat persendirian: nama, gaji dan umur.

Задание 2

Hantarkan nilai sifat-sifat ini sebagai parameter pembina.

Задание 3

Buat kaedah, yang akan memaparkan data pekerja.