原型模式与对象的拷贝

原创
2015/04/08 22:47
阅读数 53

原型模式其实就是实现对象的拷贝。可是对象的拷贝分为深拷贝和浅拷贝。

任何对象都有从Object继承过来的clone方法,默认是浅拷贝的,即拷贝时只会复制基本数据类型(包括字符串String),并且要注意拷贝的时候是不会调用构造方法的。而引用类型只是复制了引用,因此拷贝出来的对象和原来对象有着同样的引用属性,这样在某种环境下会出问题。 对于私有属性,应该是只属于该对象的,和其他对象无关,而浅拷贝之后两个对象有着同一个引用的私有属性,那么这个私有的意义何在?

 因此,在重写父类的 clone方法时要注意同时把引用属性也重新复制一份,赋给拷贝后的对象。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部