prototype原型模式是一種建立型設計模式,prototype模式允許乙個物件再建立另外乙個可定製的物件,根本無需知道任何如何建立的細節,工作原理是:通過將乙個原型物件傳給那個要發動建立的物件,這個要發動建立的物件通過請求原型物件拷貝它們自己來實施建立
原型模式實際上非常簡單,只是要實現cloneable介面。看**
public
class
sheep
implements
cloneable,serializable
public string getsname()
public
void
setsname(string sname)
public date getbirthday()
public
void
setbirthday(date birthday)
public
sheep(string sname, date birthday)
public
sheep()
}
測試類
public
class client
}
這裡涉及到乙個深複製和淺複製的問題,當用前面的類時,複製出來的類s2的date物件實際上指向的還是s1
的,所以在複製完後,如果s1的date物件數值改變,那麼s2的date物件也會跟著改變。
我們這裡修改sheep的clone方法實現深複製
protected object clone() throws clonenotsupportedexception
Java設計模式 原型模式
原型模式是乙個建立型的模式。該模式有乙個樣板例項,使用者從這個樣板物件中複製出乙個內部屬性一致的物件,這個過程也就是俗稱的 轉殖 被複製的例項就是所稱的 原型 原型模式 用原型例項指定建立物件的種類,並通過拷貝這些原型建立新的物件 通過實現cloneable介面 public class wordd...
Java設計模式 02原型模式
1 概念 通過複製現有例項來建立新的例項,無需知道相應類的資訊。2 示例 1 實現cloneable介面 public class mail implements cloneable catch clonenotsupportedexception e return clonemail set ge...
Java設計模式4 原型模式
原型模式是一種建立型設計模式,它通過複製乙個已經存在的例項來返回新的例項,而不是新建例項.被複製的例項就是我們所稱的原型,這個原型是可定製的.說白了就是乙個類實現了cloneable,重寫clone方法,就可以呼叫這個類的物件複製例項了。1 拷貝分類 原型模式中的拷貝分為 淺拷貝 和 深拷貝 淺拷貝...