Modifier private trong TypeScript
Modifier private được áp dụng trong
những trường hợp cần đóng truy cập vào
các thuộc tính và phương thức từ bên ngoài lớp.
Khi đó ngay cả trong các lớp con cũng không thể
truy cập vào các thuộc tính này.
Chúng ta hãy xem một ví dụ. Hãy tạo thuộc tính riêng tư
name trong lớp User:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
Hãy tạo một đối tượng của lớp, truyền vào constructor giá trị cho thuộc tính của chúng ta:
let user: User = new User('john');
Bây giờ, việc cố gắng đọc thuộc tính riêng tư này ở bên ngoài lớp sẽ dẫn đến lỗi:
console.log(user.name); // lỗi
Việc cố gắng ghi một cái gì đó vào thuộc tính này từ bên ngoài lớp cũng sẽ dẫn đến lỗi:
user.name = 'eric'; // lỗi
Tuy nhiên, bên trong các phương thức của lớp, chúng ta có thể đọc cũng như thay đổi giá trị của thuộc tính riêng tư của chúng ta:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // đọc thuộc tính
}
public setName(name: string) {
this.name = name; // ghi giá trị mới cho thuộc tính
}
}
Hãy tạo lớp User, chứa
các thuộc tính riêng tư với tên và tuổi.
Hãy để giá trị ban đầu của chúng được thiết lập qua
constructor.
Trong lớp User của bạn, hãy tạo các phương thức công khai
getName và getAge,
cho phép lấy giá trị của các thuộc tính riêng tư tương ứng.
Trong lớp User của bạn, hãy tạo các phương thức công khai
setName và setAge,
cho phép thay đổi giá trị của các thuộc tính riêng tư tương ứng.