Đa kế thừa
Chúng ta có thể kế thừa từ nhiều lớp cha sử dụng đa kế thừa, điều này giúp lớp con có thể thừa hưởng nhiều đặc tính từ các lớp cha khác nhau. Let’s go!
Một số vấn đề ở đa kế thừa
Bởi vì đa kế thừa giúp lớp con thừa hưởng các phương thức và thuộc tính của lớp cha vì vậy nhiều lớp “cha” sẽ có thể gây ra 1 số vấn đề như:
- Phân biệt những thuộc tính cùng tên đến từ những lớp cha
- Thứ tự gọi constructor và destructor
- Giải quyết thừa kế xung độ -… more
Ví dụ:
Đối với constructor, chương trình dường như gọi theo thứ tự chúng ta khai báo nhưng khi xuất ra giá trị của value
chúng ta gặp phải lỗi:
Lỗi “mơ hồ” không biết nên dùng biến value của lớp cha nào :)
Có nên dùng đa kế thừa
Nếu chúng không gặp trường hợp mơ hồ như ví dụ trên, nhưng có thể thấy nhiều vấn đề cần giải quyết bằng đa kế thừa cũng có thể giải quyết bằng đơn kế thừa. Vậy nên nếu bạn muốn chương trình trở nên phức tạp và tin tưởng có thể kiểm soát được, bạn có thể chọn đa kế thừa.
Tổng kết
Một đặc điểm khác của kế thừa mà chúng ta mới vừa tìm hiểu - đa kế thừa với sự tìm ẩn nhiều rủi ro và không phải là lựa chọn thích hợp cho 1 chương trình đơn giản nhưng tìm hiểu và biết nó thì vẫn tốt hơn mà đúng không? Nếu có thắc mắc các bạn bình luận bên dưới để tụi mình giải đáp nhé. Pie~