Tính đa kế thừa – Multiple Inheritance trong C++
Trong ngôn ngữ lập trình hướng đối tượng, tính kế thừa chia làm hai loại: ngôn ngữ đơn thừa kế và ngôn ngữ đa thừa kế.
Tính đơn thừa kế: là tính chất cho phép một lớp chỉ có thể kế thừa từ một lớp cơ sở duy nhất. Nếu bạn muốn sử dụng tính năng đa thừa kế trong ngôn ngữ lập trình loại này, bạn có thể cần phải sử dụng đến khái niệm giao diện interface. Ngôn ngữ đơn thừa kế tiêu biểu gồm: Java, C#, Delphi.
Tính đa thừa kế: là tính chất cho phép một lớp có thể kế thừa từ nhiều lớp cơ sở. Ngôn ngữ đa thừa kế tiêu biểu gồm: C++.
Ví dụ khai báo tính đa kế thừa trong C++ tuân theo cú pháp sau
// đa kế thừa
class D: public B, public C
Giải thích: Lớp D gọi là lớp con; lớp B, C (các lớp cơ sở).// đơn kế thừa
class B: public A
class C: public A
Giải thích: Lớp B gọi là lớp con; lớp A (lớp cơ sở). Lớp C gọi là lớp con; lớp A (lớp cơ sở).
Hình vẽ minh họa
Ví dụ [code Tubor C++]
#include<iostream.h>
#include<conio.h>
class A{
int a;
public:
void showA(void);
};
class B{
int b;
public:
void showB(void);
};
class C: public A, public B{// ham main=========
int c;
public:
void showC(void);
};
void A::showA(void){
cout<<"\n I’m A";
}
void B::showB(void){
cout<<"\n I’m B";
}
void C::showC(void){
cout<<"\n I’m C";
}
int main()Kết quả:
{
C c;
c.showA();
c.showB();
c.showC();
return 0;
}
I’m A
I’m B
I’m C
Giải thích: trong ví dụ này, lớp C kế thừa từ lớp A và lớp B. Khi ta khai báo c là đối tượng của lớp C, do tính kế thừa nên đối tượng c chứa không chỉ thành viên của lớp c, mà còn có các thành viên của lớp A và B.
* Có thể bạn quan tâm:
- Những cuốn sách mà các bạn không thể bỏ qua khi còn trẻ
- Khoá học tin học văn phòng tốt nhất
* Có thể bản quan tâm: [MMO] Hướng Dẫn *Kiếm Tiền Tự Động* Với Các Ứng Dụng Treo Máy *CỰC KỲ ĐƠN GIẢN VÀ HIỆU QUẢ*
Chúc các bạn thành công!
(TxT)