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:
class 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ị:
class Student extends User {
incAge() {
this._age++;
}
}
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ệ:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
class Employee extends User {
setName(name) {
if (name.length > 0) {
this.#name = name;
}
}
}