1.Abstract là gì ?
- Abstract là một lớp trừu tượng mà các phương thức của nó sẽ được các lớp con kế thừa lại và định nghĩa (overwrite) lại.
- Để khai báo lớp này ta sử dụng từ khóa abstract.Tất cả các phương thức trong lớp này cũng phải khai báo abstract và phải để ở mức public hoặc protected.
- Các phương thức trong lớp abstract không được định nghĩa dòng lệnh bên trong.
- Dưới đây là một số trường hợp đúng và sai khi làm việc với abstract.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
abstract class className { //khai báo đúng public abstract phuong_thuc_1():kieu_du_lieu; protected abstract phuong_thuc_2():kieu_du_lieu; //khai báo sai vì ở mức private abstract private phuong_thuc_3():kieu_du_lieu; //khai báo sai vì không có từ khóa abstract phuong_thuc_4():kieu_du_lieu; //khai báo sai vì không được định nghĩa lệnh bên trong protected abstract phuong_thuc_5():kieu_du_lieu { } } |
- Lớp abstract có thể có thuộc tính nhưng không khai báo dạng abstract.
- Lớp abstract không thể khởi tạo được.
2.Ví dụ về lớp abstract
- Ví dụ : Tạo một lớp abstract con người
1 2 3 4 5 6 7 |
abstract class Connguoi { name:string; age:string; public abstract noi():void; protected abstract hocbai():void; } |
Lớp sinh viên kế thừa từ lớp abstract con người này sẽ định nghĩa lại tất cả các hàm trong lớp con người :
1 2 3 4 5 6 7 8 9 |
class Sinhvien extends Connguoi { public noi():void{ //thực hiện hành động } protected hocbai():void{ //thực hiện hành động } } |
3.Tổng kết
Bài viết giới thiệu về lớp trừu tượng abstract trong lập trình hướng đối tượng TypeScript.
Chia sẻ bộ video đầy đủ để học typescript cơ bản tới các bạn.
Tác giả : Hà Trung Vietpro