原型模式 克隆
Prototype:声明一个克隆自身的接口
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public interface Prototype {
public prototype Clone();
}
public class ConcretePrototype: Prototype
{
public int prop1;
public String prop2;
public Prototype Clone()
{
ConcretePrototype proto = new ConcretePrototype();
proto.prop1 = this.prop1;
return proto
}
}
public prototype Clone();
}
public class ConcretePrototype: Prototype
{
public int prop1;
public String prop2;
public Prototype Clone()
{
ConcretePrototype proto = new ConcretePrototype();
proto.prop1 = this.prop1;
return proto
}
}
注意用户自定义类型, 确定深复制与浅复制
NET 支持原型接口:Icloneable