Phương thức trừu tượng trong OOP TypeScript
Có những trường hợp các lớp con phải có
một phương thức chung, tuy nhiên, việc triển khai phương thức này
lại phụ thuộc vào lớp con cụ thể. Trong
trường hợp này, phương thức đó có thể được khai báo trong
lớp cha trừu tượng mà không cần viết
phần triển khai của nó. Và khi đó các lớp con sẽ
bắt buộc phải triển khai các phương thức này. Những
phương thức như vậy được gọi là phương thức trừu tượng và
cũng được khai báo bằng từ khóa
abstract.
Ví dụ, hãy lấy lớp trừu tượng
User của chúng ta. Giả sử các lớp kế thừa
lớp này bắt buộc phải có phương thức show,
dùng để xuất dữ liệu của đối tượng.
Tuy nhiên, việc triển khai phương thức này sẽ
phụ thuộc vào lớp con. Hãy khai báo phương thức này là trừu tượng trong lớp User:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
Hãy triển khai phương thức này trong lớp con Student:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
show() {
return this.name + ' ' + this.course;
}
}
Hãy triển khai phương thức này trong lớp con Employee:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
show() {
return this.name + ' ' + this.salary;
}
}
Trong lớp trừu tượng Figure, hãy tạo
các phương thức trừu tượng để lấy diện tích
và chu vi.
Trong các lớp con Square và
Rectangle, hãy viết phần triển khai của những
phương thức này.