本文学习于:http://c.biancheng.net/view/1343.html
原型模式适用于一下场景。
- 对象之间相同或相似,即我们只是想要改变个别属性的时候。
- 对象创建比较复杂麻烦,但复制比较简单的时候。
例如:进入一个页面修改某一项数据,但是未保存点返回的时候要恢复为原来的数据。
Java实现:实现接口 Cloneable。重写方法clone即可。
//具体原型类
class Realizetype implements Cloneable
{
Realizetype()
{
System.out.println("具体原型创建成功!");
}
public Object clone() throws CloneNotSupportedException
{
System.out.println("具体原型复制成功!");
return (Realizetype)super.clone();
}
}
//原型模式的测试类
public class PrototypeTest
{
public static void main(String[] args)throws CloneNotSupportedException
{
Realizetype obj1=new Realizetype();
Realizetype obj2=(Realizetype)obj1.clone();
System.out.println("obj1==obj2?"+(obj1==obj2));
}
}
网友评论