今天和大家来讨论一下原型模式,何为原型模式?其实简单来说就是,用原型实例指定创建对象的种类,并且通过这些原型来产生新的对象,这个新的对象和原来的对象是一样的,其实这个模式就是教大家如何实现Cloneable接口以及如何重写方法clone(),让我们一起看看这个模式,代码不多,好好一起琢磨。
Prototype类:
package com.liuqiang.model.prototype;
public class Prototype implements Cloneable {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
protected Object clone() {
try {
return super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
return null;
}
}
}
ConcretePrototype类:
package com.liuqiang.model.prototype;
public class ConcretePrototype extends Prototype {
public ConcretePrototype(String name) {
setName(name);
}
}
来看最后的测试类,Test类:
package com.liuqiang.model.prototype;
public class Test {
public static void main(String[] args) {
Prototype pro = new ConcretePrototype("Design in Java");
System.out.println(pro.getName());
Prototype pro1 = (Prototype) pro.clone();
System.out.println(pro1.getName());
}
}
好了,这个模式还是蛮简单的,到原型模式为止,我们已经学习了五种模式,他们都是创建型模式,从明天开始,我将教大家几种结构型模式,还是那句话,只管去打代码就好了。
欢迎大家一起和我进行交流,学习,欢迎大家指出不足之处,请联系QQ:497820217 备注:CSDN。
本文为原创,如需要转载,请注明出处。