首页 > 其他 > 详细

设计模式学习-原型模式(Prototype)

时间:2021-04-25 14:09:01      阅读:6      评论:0      收藏:0      [点我收藏+]

1.定义

通过复制现有实例来创建新的实例,无需知道相应类的信息。关键字:Clone

2.深拷贝和浅拷贝

浅复制:将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的。

深复制:将一个对象复制后,不论是基本数据类型还有引用类型,都是重新创建的。简单来说,就是深复制进行了完全彻底的复制,而浅复制不彻底。clone明显是深复制,clone出来的对象是是不能去影响原型对象的。

3. 浅拷贝重点是super.clone()这句话,super.clone()调用的是Object的clone()方法。

技术分享图片

 

4.深拷贝

实现方式1:重写clone方法

技术分享图片

 

 

实现方式2:通过对象序列化来实现(推荐)

技术分享图片

 

 

5. 总结

原型模式的本质就是clone,可以解决构建复杂对象的资源消耗问题,能在某些场景中提升构建对象的效率;还有一个重要的用途就是保护性拷贝,可以通过返回一个拷贝对象的形式,实现只读的限制。

 

设计模式学习-原型模式(Prototype)

原文:https://www.cnblogs.com/heitx/p/14697672.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!