Abstract class là gì? Học abstract class trong PHP và Java

Lớp Trừu Tượng (Abstract class) là class ảo chỉ dùng để class khác kế thừa, không phải để khởi tạo (new) từ nó.

Tức là bình thường, 1 class có thể khởi tạo (new) ở class khác rồi gọi hàm, gọi biến của class đó. Class bình thường được khởi tạo dưới dạng đối tượng.

abstract class là gì? Học abstract class trong PHP và Java

Nhưng Abstract class thì chỉ dùng để kế thừa (extends), không thể khởi tạo (new) như thế được.

abstract class là gì? Học abstract class trong PHP và Java

=> Lớp Trừu Tượng là class cha của tất cả các class cùng bản chất, chỉ dùng để kế thừa, không dùng để khởi tạo.

Ví dụ và bài tập

Hãy làm bài tập sau bằng ngôn ngữ PHP, Java hay các ngôn ngữ khác bạn biết:
_ NhanVienCongTy là Abstract class có ma_nv, ten_nv, luong_nv, he_so_luong, ngay_cong và function TinhLuong.
_ Công ty đó có 3 chức vụ (class khác): NhanVien, TruongPhong, GiamDoc
_ TruongPhong và GiamDoc có thêm ngay_nhan_chuc.
_ GiamDoc có thêm doanh_thu.

NhanVienCongty chứa tất cả phương thức (hàm) và thuộc tính (biến) mà NhanVien, TruongPhong, GiamDoc đều có.
NhanVien, TruongPhong, GiamDoc kế thừa lại phương thức (hàm) và thuộc tính (biến) chứ không khởi tạo new NhanVienCongty()
TruongPhong, GiamDoc có thuộc tính riêng của mình nên sẽ khai báo thêm.

Giải bài tập bằng Java

Giải bài tập bằng PHP

Trong class trừu tượng chứa ít nhất 1 phương thức trừu tượng (Abstract Method). Các phương thức (method) khác bình thường.

Tài liệu tiếng Việt: Viblo.asia

Leave a Comment