設計模式之原型模式

2021-05-28 07:56:07 字數 1140 閱讀 5842

#include

#include

//此練習為原型模式方法的練習

//原型模式揭示了在同一原型上可以通過複製使得

//只需要例項化一次,再通過相應的類函式操作可以得到

//同一原型下的不同的版本物件

//此練習將考慮在實際開發中 比如 工作經歷也是作為乙個類被含在簡歷類中的情況

//這情況將涉及到類的引用和深、淺複製

//原型基類:簡歷

class resume

virtual ~resume(){}

public:

virtual resume * clone() //複製方法 這是關鍵方法

virtual void setname(char *str)=0;

virtual void setexperients(char *str)=0;

virtual void show()=0;

};class workexperients              //工作經歷類

virtual ~workexperients()

public:

void setworkex(char *str)

else

}void show()

char *getworkexperients()   //獲取工作經歷

};class resumea : public resume

resumea(const char *name)                 //例項化某個人名對應下的簡歷

else

this->work = new workexperients();         //例項化時建立了工作經歷類

}///

resumea(resumea &resume)                       //拷貝建構函式中實現具體複製

resume * clone()

///workexperients *getworkex()

virtual ~resumea()

void setname(char *str)

void setexperients(char *str)  //設定工作經歷

void show()

};void main()

設計模式之原型模式

原型模式其實就是從乙個物件再建立乙個可定製的物件,而且不需要知道建立的細節。具體就是說通過複製或者轉殖乙個原型物件產生新的物件 轉殖物件 分為兩種 深複製或者淺複製,這兩種的主要區別是 在原型中如果有物件的引用,淺複製是將引用複製過來了,也就是淺複製和原型中的物件的引用相同,而深複製是將轉殖物件中引...

設計模式之原型模式

原型模式的思想就是將乙個物件作為原型,對其進行複製 轉殖,產生乙個和原物件類似的新物件 複製過程可分為淺複製和深複製。淺複製是指直接呼叫父類 即object類 的clone方法 super.clone 該方法是本地 native 方法,呼叫該方法clone出來的新物件,基本資料型別的屬性變數是新建立...

設計模式之 原型模式

本文主要是講述建立型模式中乙個比較特殊的模式 原型模式,這個模式呢,有個最大的特點是轉殖乙個現有的物件,這個轉殖的結果有2種,一種是 是淺複製,另一種是深複製,這裡我們也會 下深複製和淺複製的原理,這樣可能更方便大家理解這個原型模式的使用。我們都知道,建立型模式一般是 用來建立乙個新的物件,然後我們...