建立型設計模式 原型模式

2021-10-01 15:37:35 字數 2406 閱讀 2821

總結

/**

* 羊* @program: ade-someproblem

* @author: cade franklin

* @create: 2019-12-22 22:12

**/public

class

sheep

//...tostring

//...setter

//...getter

}

/**

* @program: ade-someproblem

* @author: cade franklin

* @create: 2019-12-22 22:12

**/public

class

baseclone

}

淺拷貝原型模式

淺拷貝,直接使用object的clone方法,乙個本地的複製方法,快速!高效!

實現乙個copyprototype介面,自己寫乙個clone方法的介面方便深拷貝時重寫clone方法,也可以直接實現cloneable方法,然後呼叫父類clone實現拷貝

/**

* 可以轉殖的羊

* @program: ade-someproblem

* @author: cade franklin

* @create: 2019-12-22 22:12

**/public

class

sheep

implements

cloneable

, copyprototype

//@override

//protected object clone() throws clonenotsupportedexception

}

/**

* @program: ade-someproblem

* @author: cade franklin

* @create: 2019-12-22 22:12

**/public

class

shallowprototype

}

使用clone的深拷貝
/**

* 羊* @program: ade-someproblem

* @author: cade franklin

* @create: 2019-12-22 22:12

**/public

class

sheep

implements

cloneable

, copyprototype

}public

static

void

main

(string[

] args)

throws clonenotsupportedexception

@override

public copyprototype copyonself()

throws clonenotsupportedexception

class

sheepproperties

implements

cloneable

, copyprototype

}

基於序列化的深拷貝
/**

* 羊* @program: ade-someproblem

* @author: cade franklin

* @create: 2019-12-22 22:12

**/public

class

sheep

implements

cloneable

, copyprototype, serializable

}

class

sheepproperties

implements

serializable

//...省略一些常規方法

願你不捨愛與自由。

設計模式(建立型) 原型模式

原型模式的定義 以乙個已經建立的例項作為原型,通過複製該物件來建立乙個和原型相同或相似的新物件。1.複製在效能上比直接 new 乙個物件更加優良。2.可以使用深拷貝方式儲存物件的狀態,使用原型模式將物件複製乙份,並將其狀態儲存起來,可輔助實現撤銷操作。1.需要為每乙個類配備乙個轉殖方法,對已有的類進...

建立型設計 原型模式

宣告一下 本文的文字多數文字都是來自網上,只有例子是自己寫的。因為自我感覺還沒有能力能夠系統的解釋乙個模式,已經有現成的比較完善的說明,就不重複造輪子哈。原型模式是一種建立型設計模式,它通過複製乙個已經存在的例項來返回新的例項,而不是新建例項.被複製的例項就是我們所稱的原型,這個原型是可定製的。原型...

原型模式 建立型設計模式四

一 原型模式 用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。用例項來說話 我要發簡歷,自己寫了乙份模板,然後複製了n 份。如下 模板 class resume 客戶端 static void main string args 如果現在我想改,那就得把n份全改了,本來只是改動一點,卻...