一、概念:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
二、UML示意图:
在UML示意图中,有一个抽象原型(Prototype)类并且声明了一个克隆自身的接口,具体原型类可以通过继承这个抽象原型类并且实现克隆接口来定义一个具体的原型类,然后客户端可以通过实例化一个具体的原型类的实例并且调用克隆接口来得到多个以这个原型实例为原型(嗯。。感觉说的好像有点绕但是感觉这么说又没问题)的新实例。
三、优缺点
优点:
缺点:
四、深克隆和浅克隆的区别
在克隆一个对象时,如果克隆的字段是值类型,那么无论是深克隆还是浅克隆都会直接拷贝到新对象中。但如果遇到的是类类型,或者说字段保存的值是一个引用,那么浅克隆会复制这个引用到新对象的对应字段中,而深克隆则是对这个类类型的字段的对象再进行深克隆,把他复制到新对象中。
原文:https://www.cnblogs.com/winsons/p/12495266.html