คุณสมบัติที่ได้รับการป้องกันใน OOP ใน JavaScript

ขอแนะนำคุณสมบัติที่ได้รับการป้องกันด้วย เราจะเริ่มต้นชื่อของมันด้วยขีดล่างเช่นกัน มาดูตัวอย่างกัน สร้างคลาสแม่ ด้วยคุณสมบัติที่ได้รับการป้องกันซึ่งประกอบด้วย อายุ:

javascriptclass User {
  setAge(age) {
    this._age = age;
  }
  getAge() {
    return this._age;
  }
}

ในคลาสลูก สร้างเมธอด ที่เพิ่มอายุขึ้นหนึ่งปี:

javascriptclass Student extends User {
  incAge() {
    this._age++;
  }
}
Задание 1

เขียนโค้ดต่อไปนี้ใหม่โดยใช้ คุณสมบัติที่ได้รับการป้องกัน:

javascriptclass User {
  #name;
  
  setName(name) {
    this.#name = name;
  }
  getName() {
    return this.#name;
  }
}

class Employee extends User {
  setName(name) {
    if (name.length > 0) {
      this.#name = name;
    }
  }
}