Lớp OOP Trừu tượng trong TypeScript

Có những tình huống khi chúng ta có một lớp cha chứa các thuộc tính và phương thức chung, và các lớp con kế thừa từ nó.

Đồng thời, có thể xảy ra trường hợp chúng ta sẽ tạo các đối tượng của lớp con, nhưng không tạo đối tượng của lớp cha. Nó chỉ cần cho chúng ta để nhóm các thuộc tính và phương thức chung.

Trong trường hợp này, để rõ ràng cấm việc tạo các đối tượng của lớp cha, có thể khai báo nó là trừu tượng. Điều này được thực hiện bằng từ khóa abstract.

Hãy xem ví dụ. Lấy lớp User của chúng ta và khai báo nó là trừu tượng:

typescriptabstract class User {
  public name: string;
  
  constructor(name: string) {
    this.name = name;
  }
}

Tạo lớp Student kế thừa từ User:

typescriptclass Student extends User {
  public course: number;

  constructor(name: string, course: number) {
    super(name);
    this.course = course;
  }
}

Tạo lớp Employee kế thừa từ User:

typescriptclass Employee extends User {
  public salary: number;

  constructor(name: string, salary: number) {
    super(name);
    this.salary = salary;
  }
}
Задание 1

Tạo một lớp trừu tượng Figure, đại diện cho một hình học. Hãy để nó có các thuộc tính cho chu vi và diện tích.

Задание 2

Tạo lớp Square kế thừa từ lớp Figure.

Задание 3

Tạo lớp Rectangle kế thừa từ lớp Figure.