原型模式(Prototype Pattern)

2021-10-08 15:32:15 字數 1220 閱讀 3913

一、原型模式介紹

①定義:

是用於建立重複的物件,同時又能保證效能。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。

②優缺點:

優點:

缺點:

③角色

④分類淺拷貝:我們只拷貝物件中的基本資料型別(8種)和string,對於陣列、容器、引用物件等都不會拷貝;

深拷貝:不僅能拷貝基本資料型別,還能拷貝那些陣列、容器、引用物件等;

⑤注意點

二、**示例

@data

@allargsconstructor

@tostring

public

class

dogimplements

cloneable

//淺拷貝-實現一種

@override

protected object clone()

throws clonenotsupportedexception

//深拷貝-實現一種

@override

protected object clone()

throws clonenotsupportedexception }--

----

----

----

----

----

----

----

----

----

----

--@data

@allargsconstructor

@tostring

public

class

food

implements

cloneable}--

----

----

----

----

----

----

----

----

----

----

--public

class

test

//深拷貝

@org

.junit.test

public

void

test2()

throws clonenotsupportedexception

}

建立型模式 原型模式

使用原型例項指定建立物件的種類,並且通過轉殖這些原型建立新的物件 原理是將乙個原型物件傳給要發動建立的物件,該物件通過請求原型物件轉殖自己來建立過程 轉殖方法 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 原型模式 用原...