原型模式是一种创建型设计模式,它允许通过复制现有对象来创建新对象,而不是通过实例化类来创建新对象。在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",说明克隆对象是通过复制原型对象而创建的。