
UML图:
原型模式:
复制原对象,克隆出与原型对象一模一样的对象;
原型接口:
public interface Product extends Cloneable{
Object cloneProduct();
}
具体原型:
public class ProductA implements Product {
@Override
public Object cloneProduct() {
try {
return clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return null;
}
}
使用者:
public class Manager {
private Product product;
public Manager(Product product) {
this.product = product;
}
public Product create(){
return (Product) product.cloneProduct();
}
public static void main(String[] args){
ProductA productA = new ProductA();
Manager manager = new Manager(productA);
Product clonedProductA = manager.create();
System.out.println(productA == clonedProductA);
}
}




近期评论