設計模式C 版 第十七式原型模式

2021-08-07 09:07:59 字數 831 閱讀 5628

原型其實就是從乙個物件再建立另乙個物件,且不需要知道細節。如果使用原型模式,要保持靈活性,介面應該盡量豐富

例如:起始每個介面只影響乙個屬性,然後提供多個單一屬性介面組合成的多屬性介面。

#include #include using std::string;

using std::cout; using std::endl;

/*因為所有的子類,即原型要使用到父類型別,prototype*,

所有介面還是不能夠純虛,即父類不能是抽象類。

*/class prototype

virtual void setname(const string &name,int id)

virtual void putout()

virtual prototype* clone()

protected:

int m_id;

int m_age;

string m_name;

};class concretetype1 :public prototype

virtual void setname(const string &name ,int id)override

void putout() };

class concretetype2 :public prototype

virtual void setname(const string &name,int id)override

void putout() };

int main()

C 設計模式 原型模式

定義 用原型 prototype 例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。結構 理解 1.prototype 是原型基類,提供clone 純虛方法,它根據不同的派生類來轉殖不同的物件。2.concreteprototype 是原型具體類。實現clone 方法,轉殖自己,返回轉殖後的...

c 設計模式(原型模式)

good 從乙個物件再建立另外乙個可定製的物件,而無需知道任何建立的細節。並能提高建立的效能。說白了就copy技術,把乙個物件完整的copy出乙份。例 include include include using namespace std class prototype 抽象基類 prototype...

C 設計模式 原型模式

用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。建立型模式中乙個比較特殊的模式 原型模式,有個最大的特點是轉殖乙個現有的物件,這個轉殖的結果有2種,一種是淺度複製,另一種是深度複製。建立型模式一般是用來建立乙個新的物件,然後我們使用這個物件完成一些物件的操作,我們通過原型模式可以快速...