目录
Prototype Design Pattern
public class Beast {
private final String name;
private final int id;
private Beast(Beast beast) {
this.name = beast.name;
this.id= beast.id;
}
public Beast copy() {
return new Beast(this);
}
}
public class BeastFactory {
private final Beast beastPrototype;
public BeastFactory(Beast beastPrototype) {
this.beastPrototype = beastPrototype;
}
public Beast createBeast() {
return beastPrototype.copy();
}
}
基于重写clone()的相关优化
public class Beast {
private final String name;
private final int id;
private Beast(Beast beast) {
this.name = beast.name;
this.id= beast.id;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return new Beast(this);
}
}
public class BeastFactory {
private final Beast beastPrototype;
public BeastFactory(Beast beastPrototype) {
this.beastPrototype = beastPrototype;
}
public Beast createBeast() throws CloneNotSupportedException {
return (Beast) beastPrototype.clone();
}
}
该博客介绍了原型设计模式在Java中的应用,通过重写clone()方法实现对象的快速复制。展示了如何创建一个Beast类及其工厂类,用于创建Beast对象的副本,从而提高代码效率。
855

被折叠的 条评论
为什么被折叠?



