05 建立型 原型模式 理解轉殖物件

2021-10-02 22:35:03 字數 1280 閱讀 6804

用於建立重複的物件,用轉殖物件的方式代替new 關鍵字的使用。

就好比細胞**,最開始的乙個細胞通過自我複製,**成兩個。兩個**成四個,依次指數增長

這裡就涉及到乙個概念,就是建立重複的物件,就好比細胞**的時候就是在重複建立物件,我們可以讓物件實現cloneable介面

通過父類的clone() 方法進行建立相同的物件,這裡的相同是指有相同的屬性,但是他們在記憶體中卻有不同的引用存在

物件實現cloneable 重寫父類的clone方法

public class student implements cloneable 

public void setid(string id) public string getname() public void setname(string name) public object clone() catch (clonenotsupportedexception e) return clone; } }

//測試 分別用new的方式與clone的方式 建立100個相同的物件需要的毫秒數

public static void main(string args)  long end = system.currenttimemillis(); system.out.println(end); system.out.println("總耗時:"+(end-start)); }

//通過轉殖的方式創造相同的物件進行測試

public static void main(string args)  long end = system.currenttimemillis(); system.out.println(end); system.out.println("總耗時:"+(end-start)); }

果然,效能上還是存在微小的差距的。

原型模式,簡單的理解就是用於建立重複物件時候,對減少new關鍵字的使用而存在的乙個設計模式,它的好處在於能夠快速建立相同的物件。

缺點就在於:需要被轉殖的物件需要實現cloneable介面,對於全域性我們需要考慮,不能一味的實現。還是得全域性考慮。合適才是最重要的

原型模式(物件的轉殖)

原型模式 屬於物件的建立模式 通過給出乙個原型物件 來指明所有建立的物件的型別 然後用這個原型物件 提供的複製辦法 建立出更多同型別 的物件。聯想到瀏覽器中,如果我們生成了乙個button例項,這個button例項經過一系列操作,攜帶了各種資訊,比如button加顏色,加背景圖,加文字,加事件等等。...

建立型 原型模式

將乙個物件作為原型,對其進行複製 轉殖,產生乙個和原物件類似的新物件。淺複製 將乙個物件複製後,基本資料型別的變數都會重新建立,而引用型別,指向的還是原物件所指向的。深複製 將乙個物件複製後,不論是基本資料型別還有引用型別,都是重新建立的。優點 當直接建立物件的代價比較大時,採用這種模式會使建立效能...

建立型 原型模式

1 原型模式意圖 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。2 場景描述 原型模式,利用例項自身的轉殖功能來得到與原例項相同的新的例項。設想西遊記中的乙個場景,唐僧師徒四人 白龍馬除外 不過,該唐僧是個多事 喜歡使喚徒弟的唐僧。每當有事時,唐僧便會使喚他的三個徒弟去做。但是三個...