原型設計模式

2021-08-28 11:41:31 字數 1352 閱讀 4653

建立mail 類 實現 cloneable介面 使用原型模式,分為淺拷貝和深拷貝;

淺拷貝就是把乙個類的基本資料型別從系統資源中copy出來,節省系統資源,在jvm裡獲取到已經建立的類;

class mail implements  cloneable

public void setreceiver(string receiver)

public string getsubject()

public void setsubject(string subject)

public string getcontent()

public void setcontent(string content)

public string gettail()

public void settail(string tail)

public mail(string et)

@override

public mail clone() catch (clonenotsupportedexception e)

return mail;

}}

測試方法

public static void main(string args) ;

mail mail = new mail(str);

while(i < max_count)

}

淺拷貝:感覺自己寫個迴圈也可以輕鬆搞定,但是如果牽扯到大物件,頻繁的建立對系統資源也是一種浪費;

深拷貝就有點意思了;

將乙個物件複製後,不論是基本資料型別還有引用型別,都是重新建立的。

那麼深拷貝如何具體實現呢?

繼續上面的例子,增加了乙個arraylist屬性。

private string receiver;

private string subject;

private string content;

private string tail;

private arrayliststr;

修改mail類

@override

public mail clone() catch (clonenotsupportedexception e)

return mail;

}

適用場景:

1,複製物件的結構和資料。

2,希望對目標物件的修改不影響既有的原型物件。

3,建立乙個物件的成本比較大。

python 設計模式 原型模式 原型設計模式

原型設計模式有助於隱藏該類建立例項的複雜性,在物件的概念將與從頭建立的新物件的概念不同。如果需要,新複製的物件可能會在屬性中進行一些更改。這種方法節省了開發產品的時間和資源。如何實現原型模式?現在讓我們看看如何實現原型模式。實現如下 import copy class prototype type ...

設計模式 原型設計模式

建立型的模式,最後一種原型設計模式。是一種使用起來簡單,可以配合單例模式或是工廠設計模式使用的。先看一下,原型設計模式是怎麼回事兒吧。如果想使用原型設計模式。必須滿足乙個條件,首先實現cloneable介面,然後重寫clone方法。這樣就算是完成了,然後就開始測試了 建立完物件以後給phone乙個當...

原型設計模式

一 應用場景 在乙個特定的場景中經常需要出現多個相同但狀態各異的物件,通常的解決方法是通過new建立這些物件之後分別去設定這些物件的狀態。原型設計模式提供了更快捷 更有效的解決方法。二 意圖 通過複製 轉殖 拷貝 乙個指定型別的物件來建立更多同型別的物件。這個指定的物件可被稱為 原型 物件,也就是通...