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:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
}
Tạo lớp Student kế thừa
từ User:
class 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:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
}
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.
Tạo lớp Square kế thừa
từ lớp Figure.
Tạo lớp Rectangle kế thừa
từ lớp Figure.