原型模式:为了解决构建复杂对象的资源消耗问题,在某些场景下提升创建对象的效率.
主要分为深拷贝和浅拷贝
@Override
protected WordDocument clone() {
try {
WordDocument wDoc = (WordDocument) super.clone();
wDoc.mText = this.mText;
//浅拷贝
wDoc.mImages = this.mImages;
//深拷贝
wDoc.mImages = (ArrayList<String>)this.mImages.clone();
return wDoc;
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return null;
}浅拷贝: 更改clone原内部对象引用会改变原对象的实际值,而深拷贝则是对于原内部对象进行进一步的clone,保证不影响原内部对象
优点:节省资源提高效率
缺点:clone的对象不会执行构造方法
本文介绍了原型模式中深拷贝和浅拷贝的概念及实现方式。浅拷贝会导致原对象内部引用改变,而深拷贝则能确保独立性。通过具体代码示例展示了两种拷贝的区别,并分析了它们各自的优缺点。
2180

被折叠的 条评论
为什么被折叠?



