设计模式之原型模式
1、生活中的原型模型 生活中,快速复制,十分常见,比如小时候考试的印刷机,先通过刻版,下一步,以刻版或母版为基础进行大批量印刷。这样能快速的创建一批符合要求的对象。 变成中也十分常见,常见的有通过拷贝自身属性快速创建另一个对象。各个对象之间是相互独立的(内存空间地址不一致), 2、浅克隆、深克隆 浅克隆,即通过实现Cloneable标记接口(空接口),在浅克隆中,如果原型对象的成员变量是值类型,将复制一份给克隆对象;如果原型对象的成员变量是引用类型,则将引用对象的地址复制一份给克隆对象,也就是说原型对象和克隆对象的成员变量指向相同的内存地址。在Java语言中,通过覆盖Object类的clone()方法可以实现浅克隆。 @Data public class WeeklyLog implements Cloneable { private String name; private String date; private String content; private Attachment attachment; @Override public WeeklyLog clone(){ Object obj = null; try { obj = super.clone(); return (WeeklyLog) obj; } catch