大話設計模式 第09章 簡歷影印 原型模式

2021-07-13 09:40:24 字數 1370 閱讀 5829

第09章簡歷影印--原型模式

9.2 簡歷**初步實現

//簡歷

class resume

//設定個人資訊

public void setpersonalinfo(string ***, string age)

//設定工作經歷

public void setworkexperience(string timearea,string company)

//顯示

public void display()

」,name,***,age);

console.writeline(「工作經歷: 」,timearea, company);}}

客戶端呼叫**

static void main(string args)

9.3 原型模式

原型模式(prototype),用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。

原型模式其實就是從乙個物件再建立另外乙個物件,而且不需要知道任何建立的細節。

原型類abstract class prototype

public string id

}public abstract prototype clone();

}具體原型類

class concreteprototype1 : prototype

public override prototype clone()

}客戶端**

static void main(string args)

」, c1.id);

console.read();

}9.4 簡歷的原型實現

//簡歷

class resume : icloneable

//設定個人資訊

public void setpersonlinfo(string ***, string age)

//設定工作經歷

public void setworkexperience(string timearea,string company)

//顯示

public void display()

」,name,***,age);

console.writeline(「工作經歷:{0}

{1}」, timearea,company);

}public object clone()

}客戶端呼叫**

static void main(string args)

9.5 淺複製與深複製

memberwiseclone()方法是這樣的:如果欄位是值型別的,則該字段逐位複製,如果欄位時引用型別,則複製引用但不複製應用的物件:因此,原始物件及其複本引用同乙個物件。

《大話設計模式》 簡歷影印 原型模式 9

p 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。原形模式其實就是從乙個物件再建立另外乙個可定製的物件,而且不需要知道任何建立的細節。在.net中,抽象類prototype是用不著的,在system命名空間中提供了icloneable介面,其中就是唯一乙個方法是clone 只要實現...

大話設計模式九 原型模式(簡歷影印)

淺複製 被複製物件的所有變數都含有與原來的物件相同的值,而所有的其它物件的引用都仍然指向原來的物件。工作經歷類 public class workexperience public void setworkdate string workdate public string getcompany p...

設計模式 原型模式(C ) 簡歷影印

原型模式就是讓物件擁有自我拷貝的功能,方便備份物件資料或者建立物件時設定過多的引數。include include using namespace std class prototype class resume public prototype virtual void setpersonalin...