プロトタイプパターンは、オブジェクトを複製して新しいオブジェクトを作成するためのデザインパターンです。このパターンは、オブジェクトの構築が高価または複雑な場合に特に有用です。
定义原型接口
java
public interface Prototype extends Cloneable {
Prototype clone();
}
创建具体原型类
java
public class ConcretePrototype implements Prototype {
private String name;
public ConcretePrototype(String name) {
this.name = name;
}
@Override
public Prototype clone() {
try {
return (Prototype) super.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
return null;
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "ConcretePrototype{name='" + name + "'}";
}
}
使用原型模式
java
public class PrototypePatternDemo {
public static void main(String[] args) {
ConcretePrototype prototype1 = new ConcretePrototype("Prototype 1");
ConcretePrototype prototype2 = (ConcretePrototype) prototype1.clone();
System.out.println(prototype1);
System.out.println(prototype2);
prototype2.setName("Prototype 2");
System.out.println(prototype1);
System.out.println(prototype2);
}
}