uml中物件有關聯,聚合,引用等抽象意義上的含義,但實現的形式用c++來說基本如下
偽**class 類1
類1函式操作()
class 類2
public :
類2(類1* c)
// 這個也可以用類2(類1*c):_c(c) 代替
類2函式操作()
private:繼承類的時候protected:
類1 * _c
紅色是關鍵, 定義了乙個引用的介面
class 類3: public 類2
類3(類1* h):類2(h) //實現了和類2的介面,
//函式中直接使用基類_c //實現了和類2介面,通過類2的介面,時間了類3和類1的組合
//直接使用基類_c很少見,一般是在基類定義乙個函式,函式中返回 this->_c,然後在派生類直接使用這個函式代替了_c出現。
如上方法基本貫穿物件的組合。設計模式中
c (物件組合)
在c語言中結構體支援巢狀,同樣,c 的類也支援巢狀。也就是讓某個類的物件作為另乙個類的資料成員出現,這就是物件組合。下面的例子是讓intarray類的物件作為customer類的共有資料成員存在。在這裡,intarray類其實就充當了我們自己定義的乙個抽象資料型別,通過各種運算子過載函式,實現對字串...
物件導向 組合
物件導向之組合 1 什麼是繼承?什麼是組合?顧名思義 繼承就是什麼是什麼的關係 組合就是什麼有什麼的關係 class person nationnality china def init self,name,age,self.name name self.age age self.class tea...
OOP 物件組合
物件組合 把已有物件組合起來 成員物件 一類的成員變數是另乙個類的物件 封閉類 包含成員物件的類 include include using namespace std class ctyre class cengine class ccar intmain 當封閉類物件生成時 首先,執行所有成員物...