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:

typescriptclass 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:

typescriptlet 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:

typescriptconsole.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:

typescriptuser.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:

typescriptclass 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
  }
}
Задание 1

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.

Задание 2

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.

Задание 3

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.