學習筆記 原型模式

2022-09-24 03:30:11 字數 991 閱讀 9271

模擬實現:

1

import

j**a.util.date;23

/**4

*原型模式: 通過乙個已經建立好的物件來轉殖出同樣的其他物件(屬性一樣,通過實現cloneable介面來實現),

5* 分為深拷貝和淺拷貝,要進行深拷貝,需要對原物件的引用型別屬性也進行拷貝,或者用序列化的方式也可以實現深拷貝

6* 該模式有利於減少建立物件所耗費的時間,直接將記憶體中已有的物件進行拷貝,出去了new物件時的初始化,再賦值等一系列操作7*/

8public

class

test

24 }

view code

1

import

j**a.util.date;23

public

class user implements

cloneable 78

public

user(string name, date birthday)

1213

public

date getbirthday()

1617

public

void

setbirthday(date birthday)

2021

public

string getname()

2425

public

void

setname(string name)

2829

@override

30public object clone() throws

clonenotsupportedexception

3637

private

string name;

38private

date birthday;

39 }

view code

原型模式學習筆記

原型模式 prototype pattern 是指原型例項指定建立物件的種類,並且通過拷貝這些 原型建立新的物件 類初始化消耗資源較多,或者建構函式比較複雜 new 產生的乙個物件需要非常繁瑣的過程 資料準備 訪問許可權等 因為原型模式是在記憶體中對這個物件進行拷貝,要比直接new這個物件效能要好很...

學習設計模式 原型模式

說明 通過原型模式可以自動複製乙個例項化物件a給新的物件例項化物件b,這樣可以省去很多例項化 重複 的工作,便於維護。轉殖分為淺轉殖和深轉殖,淺轉殖只轉殖基礎型別資訊,對於類似物件這樣的複雜型別資訊,只轉殖這個物件的引用 深轉殖是基礎型別和複雜型別都轉殖其值,而不僅僅是轉殖引用 需求 複製簡歷,需要...

原型模式 學習手記

用原型例項指定建立物件的種類,並用通過拷貝這些原型來建立新的例項。模型圖 在.net中可以通過icloneable來實現 public class knife icloneable public string aggressivity public string property public vo...