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'
Dalam kelas Employee, buatlah
tiga sifat persendirian: nama, gaji
dan umur.
Hantarkan nilai sifat-sifat ini sebagai parameter pembina.
Buat kaedah, yang akan memaparkan data pekerja.