设计模式 - 原型模式

/**
* 原型
* @author swt
*/
public class Prototype implements Cloneable {
@Override
protected Prototype clone() {
Prototype prototype = null;
try {
prototype = (Prototype) super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return prototype;
}
}
/**
* 原型实现类
* @author swt
*/
public class ConcretePrototype extends Prototype {
public void show() {
System.out.println("原型模式实现类 " + this.toString());
}
}
public class Main {
public static void main(String[] args) {
ConcretePrototype concretePrototype = new ConcretePrototype();
for (int i = 0; i < 10; i++) {
ConcretePrototype clonePrototype = (ConcretePrototype) concretePrototype.clone();
clonePrototype.show();
}
}
}
输出:
原型模式实现类 com.swt.dp.factory.prototype.ConcretePrototype@4554617c 原型模式实现类 com.swt.dp.factory.prototype.ConcretePrototype@74a14482 原型模式实现类 com.swt.dp.factory.prototype.ConcretePrototype@1540e19d 原型模式实现类 com.swt.dp.factory.prototype.ConcretePrototype@677327b6 原型模式实现类 com.swt.dp.factory.prototype.ConcretePrototype@14ae5a5 原型模式实现类 com.swt.dp.factory.prototype.ConcretePrototype@7f31245a 原型模式实现类 com.swt.dp.factory.prototype.ConcretePrototype@6d6f6e28 原型模式实现类 com.swt.dp.factory.prototype.ConcretePrototype@135fbaa4 原型模式实现类 com.swt.dp.factory.prototype.ConcretePrototype@45ee12a7 原型模式实现类 com.swt.dp.factory.prototype.ConcretePrototype@330bedb4
浙公网安备 33010602011771号