您的位置:首页 > 其它

每天一设计模式之原型模式

2009-06-01 18:17 197 查看
 
每天一设计模式之原型模式
原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象
原型模式结构图:



 
深复制样例:
XieFei:
package com.test; public class XieFei {     private String name = "xf";
    private int id = 0;     public String getName() {
        return name;
    }     public void setName(String name) {
        this.name = name;
    }     public int getId() {
        return id;
    }     public void setId(int id) {
        this.id = id;
    }     public XieFei(String name, int id) {
        this.name = name;
        this.id = id;
    }
}  
MyClass:
package com.test; public class MyClass implements Cloneable {
    public XieFei xiefei = new XieFei("xf", 2);     @Override
    protected Object clone() throws CloneNotSupportedException {
        MyClass class1 = new MyClass();
        return class1;
    }
}  
测试:
package com.test; public class Test {     /**
     * @param args
     * @throws CloneNotSupportedException
     */
    public static void main(String[] args) throws CloneNotSupportedException {
        MyClass myclass = new MyClass();
        myclass.xiefei.setId(1);
        MyClass myclass2= (MyClass)myclass.clone();
        myclass2.xiefei.setId(3);
        System.out.println(myclass.xiefei.getId());
        System.out.println(myclass2.xiefei.getId());     } }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: