設計模式之原型模式

2021-08-21 03:30:24 字數 1466 閱讀 6529

prototype模式是一種物件建立的模式,採用複製原型物件的方法來建立物件的例項。

使用原型建立的例項,具有與原型一樣的資料。

原型模式特點:

1.建立目標物件有原型物件建立

2.目標物件是原型物件的乙個轉殖體,目標物件具有與原型物件一樣的結構,相同的值。

3.根據轉殖的層次的不同,有淺度轉殖和深度轉殖(注意物件中的屬性如果包含應用類或者是物件,轉殖的不在是物件,

而是應用的位址值,需要我們進行深度轉殖,否則轉殖體的物件中引用型別屬性會始終和原始物件完全一樣)

具體實現**如下: 實體類實現cloneable,提供轉殖方法

public class person implements cloneable

public void setname(string name)

public int getage()

public void setage(int age)

public string get***()

public void set***(string ***)

//提供轉殖方法

public person clone() throws clonenotsupportedexception

@override

public string tostring()

}

測試main方法

public class mainclass 

}

結果如下:

person [name=洪二狗, age=25, ***=男]

person [name=洪二狗, age=25, ***=男]

深度轉殖只需要修改我們提供的clone() 方法即可

修改後的實體類,新增引用型別

public class person implements cloneable

public void setfriends(listfriends)

public string getname()

public void setname(string name)

public int getage()

public void setage(int age)

public string get***()

public void set***(string ***)

//提供轉殖方法

public person clone() throws clonenotsupportedexception

person.setfriends(list);

return person;

}@override

public string tostring()

}

如有不足或錯誤之處,歡迎指出。

設計模式之原型模式

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

設計模式之原型模式

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

設計模式之原型模式

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