คุณสมบัติส่วนตัวใน OOP ใน 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

สร้างเมธอดที่จะแสดง ข้อมูลของพนักงาน