1,類與類間的關係
繼承(Inheritance),複合(Composition),委託(Delegation)
2,複合----表示has a
含義:在類定義裏,定義其餘類的對象
設計模式:Adapter--變壓器就是一種,改造,適配
做用:借用強大類已完成的功能實現當前類的功能
3,複合關係下的構造和析構
構造由內而外
析構由外而內
4,委託(Composition by reference)----擁有某一個類指針
含義:在類定義裏,定義指向其餘類對象的指針
設計模式:Handle/Body(pImpl--Pointer to Implementation)--將方法放到另外一個類中
做用:編譯防火牆
5,繼承----表示is a
構造由內而外
析構由外而內
父類的析構函數必須是virtual
6,繼承 with 虛函數
三種成員函數:
1,non-virtual函數:不但願子類定義
2,virtual函數:子類可從新 定義可不從新定義
3,pure函數:子類必須定義 virtual void draw() const = 0;
設計模式:Template Method---Application framework經常使用手法---有名的MFC就是
做用:對於肯定部分先寫好;不肯定的部分使用virtual留白,由子類定義
7,委託 + 繼承(最強大組合)
設計模式:Observer
設計模式:Composite
設計模式:Prototype設計模式