Thuộc tính được bảo vệ trong OOP JavaScript

Chúng ta cũng sẽ giới thiệu các thuộc tính được bảo vệ. Tên của chúng cũng sẽ bắt đầu bằng dấu gạch dưới. Hãy xem một ví dụ. Chúng ta sẽ tạo một lớp cha với một thuộc tính được bảo vệ chứa thông tin tuổi:

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

Trong lớp con, chúng ta tạo một phương thức tăng tuổi lên một đơn vị:

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

Hãy viết lại đoạn mã sau bằng cách sử dụng thuộc tính được bảo vệ:

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;
    }
  }
}