java設計模式 原型模式(Prototype)

2021-07-06 11:04:30 字數 866 閱讀 7150

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 拷貝分類 原型模式中的拷貝分為 淺拷貝 和 深拷貝 淺拷貝...