用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件
以為是複製乙個一摸一樣的物件出來,所以說會在這個複製出來的物件上進行操作,避免破壞原來那乙個物件
在原型模式中,很多時候是由於為了操作方便,例如在工廠模式中如果需要對傳入的物件做判斷,從而呼叫其方法的時候,這樣的話就會使得工廠的**異常難維護,為了是工廠模式更利於維護,在具體類裡面就可以轉殖乙份資料用以工廠模式裡面去操作,具體用**說明,首先依舊需要乙個介面,而這個介面又需要繼承乙個拷貝物件的介面,這裡用乙個訂單拆分的例子說明
public
inte***ce
prototype
public
inte***ce
iorder
extends
prototype
在其子類中實現,這裡就寫乙個子類
public
class
personorder
implements
iorder
@override
public
void
setodernumber
(int number)
public string getordername()
public
void
setordername
(string name)
@override
public prototype cloneorder()
}
那麼若果在工廠模式中要獲取到其方法,還要做判斷,那麼就會產生過多的冗餘**,此時可以選擇在實現類中clone乙個物件
public
class
orderdealfactory
}}
如果這裡例項化的物件不同,那麼在操作的時候,就有可能需要轉型,那麼在轉型前就需要使用instanceof做判斷,這樣就破壞了其封裝性
呼叫測試
public
class
test
}
列印出來的處理位址並不是源位址,保留了源位址資料的原貌 建立型模式 原型模式
使用原型例項指定建立物件的種類,並且通過轉殖這些原型建立新的物件 原理是將乙個原型物件傳給要發動建立的物件,該物件通過請求原型物件轉殖自己來建立過程 轉殖方法 public prototype clone jdk中為我們提供了轉殖的方法clone 從object繼承下來,乙個物件要實現轉殖,需要實現...
建立型模式 原型模式
原型 prototype 模式主要用於建立物件的轉殖,通常其最簡單的形式就是採用自定 clone 函式並 傳入物件引數以返回此物件的乙個副本,這在 python 實作上可使用內定 copy.cop y 或 copy.deepcopy 函式來達到此目的。當已有乙個物件但對此物件的某些部分會被變更卻又想...
原型模式 建立型模式
文章首發個人部落格 如果我們有乙個類 sheep 它裡面有兩個屬性,名稱 name 年齡 age 現在我們有乙個它的例項 s1 我們需要按照這個例項的屬性再去建立兩個物件。1 sheep data public class sheep 2 main public class main 原型模式 用原...