原型模式是一种创建型设计模式,它允许通过复制现有对象来创建新对象,而不是通过实例化类来创建新对象。在Java中,可以使用Cloneable接口和clone()方法来实现原型模式。
下面是一个简单的Java版原型模式的示例:
public class Prototype implements Cloneable {
private String name;
public Prototype(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public Prototype clone() throws CloneNotSupportedException {
return (Prototype) super.clone();
}
}在这个示例中,我们定义了一个名为Prototype的类,它实现了Cloneable接口并重写了clone()方法。该类有一个名为name的属性和相应的getter和setter方法。
现在,我们可以使用Prototype类来创建新对象,如下所示:
Prototype prototype = new Prototype("original");
Prototype clone = prototype.clone();
clone.setName("clone");
System.out.println("Original: " + prototype.getName());
System.out.println("Clone: " + clone.getName());在这个示例中,我们首先创建了一个原型对象prototype,并使用clone()方法创建了一个克隆对象clone。然后,我们修改了克隆对象的name属性,并打印了原型对象和克隆对象的name属性。
输出结果如下:
Original: original
Clone: clone
可以看到,原型对象和克隆对象的name属性分别为"original"和"clone",说明克隆对象是通过复制原型对象而创建的。