裝飾模式:動態地給乙個物件新增一些額外的職責
一般情況下可用繼承實現類的功能拓展
// 英雄抽象類
class abstracthero
;// 具體英雄:蓋倫
class gailun : public abstracthero
void show_status() };
// 給英雄新增裝飾物,他依舊還是個英雄
class abstractequipment : public abstracthero
virtual void show_status() {};
public:
abstracthero* phero;
};// 紅蓮斗篷
class doupeng : public abstractequipment
// 增加額外功能
void add_doupeng()
void show_status() };
// 無盡之刃
class wujin : public abstractequipment
//增加額外功能
void add_wujin()
void show_status() };
void test_01()
int main()
12 裝飾模式
在不必改變原類檔案和使用繼承的情況下,動態地擴充套件乙個物件的功能。它是通過建立乙個包裝物件,也就是裝飾來包裹真實的物件。裝飾模式的類圖 component為抽象構件,是乙個介面或抽象類,定義最核心的物件,也就是最原始物件 concretecomponent 為具體構件,是抽象構件的實現,需要裝飾的...
設計模式之裝飾者模式12
有一次考試,小明考了60分,然後學校出了乙個成績單,要家長簽字。60分,王老漢肯定不簽字。這時,需要加兩個裝飾。1 最高分是70分,我考了60分。2 我排名從40到30名。學校給的報告單 public abstract class schoolreport 四年級真實的成績單 public clas...
《設計模式之禪》讀書筆記 12 裝飾模式
定義 裝飾模式可以動態地給乙個物件新增一些額外的職責。類圖 component抽象構件 component是乙個介面或者是抽象類,就是定義我們最核心的物件,也就是最原始的物件。concretecomponent具體構件 concretecomponent是最核心 最原始 最基本的介面或抽象類的實現。...