原型模式就是用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式实际上就是实现cloneable接口,重写clone()方法。
网站建设那么使用原型模式有哪些优点呢?
首先,原型模式性能优良,是在内存二进制流的拷贝,要比直接new一个对象性能好很多,特别是要在一个循环体内产生大量的对象时,原型模式可以更好地体现其优点。
其次,原型模式能够逃避构造函数的约束。
在了解了原型模式的优点后,要知道原型模式有两个拷贝对象,分别是浅拷贝和深拷贝。
浅拷贝:object类提供的方法clone只是拷贝本对象,其对象内部的数组、引用对象等都不拷贝,还是指向原生对象的内部元素地址,这种拷贝就叫做浅拷贝,其他的原始类型比如int、long、char、string(当做是原始类型)等都会被拷贝。
注意:使用原型模式时,引用的成员变量必须满足两个条件才不会被拷贝:一是类的成员变量,而不是方法内变量;二是必须是一个可变的引用对象,而不是一个原始类型或不可变对象。
深拷贝:对私有的类变量进行独立的拷贝
如:thing.arraylist=(arraylist)this.arraylist.clone();
以上就是石家庄做网站的出发吧文化传媒河北有限公司为大家带来的关于原型模式的相关介绍,希望大家能可以从中学到你想要知道的任何关于网站建设的知识点。