结构图:
释义:
原型模式的本质是克隆生产新对象,克隆是手段,目的是生成新的对象实例。
浅拷贝:
由对象实现cloneable接口和重写clone方法,然后调用一次内部不做改写的clone方法克隆出一个对象,基本数据类型变量会被复制创建新的内存地址,如果源对象内部存在引用类型的成员变量,那么就说该克隆是浅克隆,即对于引用类型属性,只克隆引用,两个对象的引用指向同一块内存地址,即同一个对象。
当修改被clone对象的属性值时,clone出来的对象的属性值不会跟着变化;当修改被clone对象的引用对象的属性值时,clone出来的对象的引用对象的属性值跟着变化;
深拷贝:
基本数据类型变量和引用类型变量指向的对象都会被复制,即针对引用类型的成员变量真正的复制一份,重新开辟空间保存,这样两个引用类型属性互不影响。
方式:1.改写clone方法
2.序列化