類的組合特性

2021-06-08 07:19:04 字數 448 閱讀 5838

若在邏輯上a是b的「一部分」則不允許b從a派生,而是要用a和其他部分組合成b。例如眼(eye)、鼻(node)、口(mouth)是頭的一部分,所以應該head應該由類eye、node、mouth組合而成,不是派生而成。
class eye

;class node

;class mouth

;class head

void smell()

void eat()

private:

eye m_eye;

node m_node;

mouth m_mouth;

};

但是如果讓head從eye、node、mouth派生而來,那麼head將自動具有look、smell、eat等功能。但是這種雖然執行正確但是不見得是乙個高質量的程式。

類的組合(類的包含)

1.組合關係 2.繼承關係 1.封閉類 類a的資料成員 公有或私有 是類b的物件,這一形式是類的組合,類a就叫做封閉類 2.物件成員 類a的資料成員 公有或私有 是類b的物件,則該資料成員叫做物件成員 例如 include include using namespace std class poin...

類的其他特性

include include using namespace std class screen contents初始化的意思是,有ht乘wd個字元c初始化乙個string型別 char get const 讀取游標處的字元 inline char get pos ht,pos wd const 顯...

類的高階特性

被定義為final的物件引用只能指向唯一乙個物件,不可以將它指向其他物件,但是乙個物件的值本身是可以改變的,為了使乙個常量做到真正不可更改,可以將常量宣告為 static final 全域性常量 乙個被定義為private的方法隱式的被指定為 final 型別final類不允許被繼承,不允許被改動 ...