自己理解的:
類與類的關係:1.使用2.聚合3.組合4.繼承
1.使用:一個類使用另一個類的功能(函數)或者調用類的屬性(數據),這種關係是類與類之間最爲常見的,這樣不盡可以減少代碼量,還可以重複利用類的功能(函數)和屬性(數據)。
使用的簡單代碼(頭文件什麼的省略了只寫主要代碼):
class B
{
public:
void run ();
} ;
class A
{
public:
B b;
b.run ;
};
這樣A的類就可以調用B的類的函數,不用使用繼承,減少了代碼量;還沒有打破類的封裝性。
2.聚合:一個類調用其它類的屬性(屬性)和功能(函數),這個類的死亡並不會引起調用類的死亡,這樣類的聚合也沒有打破類的封裝性,還有效的實現類與類之間的調用;。
聚合的簡單代碼:
class B
{
public:
void run ();
};
class A
{
public:
void run (const B &b )
{
b.run;
};
};
3.組合:一個類使用其它類的屬性(數據)和功能(函數)來形成自己的屬性(數據)和功能(函數),這樣有利用已有的類來豐富還沒有的類,大大減少了代碼量,和方便使用類。
組合的簡單代碼:
class B
{
public:
void run ();
};
class A
{
public:
void run ;
private:
B b;
};
4.繼承:這是類與類之間最常見的一種關係,是一個類當父類,另一個類當子類,子類可以繼承父類的財產(共有部分和保護部分,但是無法繼承父類的隱私(私有部分)但是友元可以打開類的封裝,直接訪問一個類的隱私(私有部分),友元故名思意就是朋友,朋友當然知道別讓的隱私。
BY 朱夏彤