設計模式之原型模式

2021-08-07 08:36:48 字數 1428 閱讀 3058

用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。原型模式其實就是從乙個物件再建立另外乙個可定製的物件,而且不需要任何建立的細節。

1.深複製:把引用物件的變數指向複製過的新物件,而不是原有的被引用的物件

2.被複製物件的所有物件都含有與原來物件相同的值,而所有的對其他物件的引用都任然指向原來的物件

uml類圖

2.**實現

//抽象的原型類

abstract class aprototype

public

string id

}//clone()方法,抽象的關鍵

public

abstract aprototype clone();

}

//具體的原型類

class concreteprototypea : aprototype

public

override aprototype clone()

}

客戶端:

class

program

",copy.id);

console.readkey();}}

輸出:cloned:123

簡歷的原型實現:

4.1uml類圖

4.2**實現

//簡歷類,實現可複製介面

class personresume : icloneable

//設定個人資訊

public

void

setinfo(string ***,string age)

//設定工作經歷

public

void

workexprience(string timearea,string company)

//顯示

public

void

show()

,,",name,***,age);

console.writeline(",",timearea,company);

}//實現介面的方法,用來轉殖物件

public

object

clone()

}

客戶端:

class program

}輸出:dzb man 18 three years wkd

dzb man 18 four years wkdcy

設計模式之原型模式

設計模式之原型模式

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

設計模式之原型模式

include include 此練習為原型模式方法的練習 原型模式揭示了在同一原型上可以通過複製使得 只需要例項化一次,再通過相應的類函式操作可以得到 同一原型下的不同的版本物件 此練習將考慮在實際開發中 比如 工作經歷也是作為乙個類被含在簡歷類中的情況 這情況將涉及到類的引用和深 淺複製 原型基...

設計模式之原型模式

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