總結
/**
* 羊* @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份全改了,本來只是改動一點,卻...