设计模式(六):原型模式

来源:互联网 发布:单片机字节变量bdata 编辑:程序博客网 时间:2024/05/22 07:07

首先,学习原型模式需要了解JAVA中的深克隆与浅克隆。


原型模式结构图:


(1)Prototype:原型类,会声明一个克隆自身的方法,在Java中已经有定义好的接口Cloneable

(2)ConcretePrototype:具体原型类,实现克隆自身的操作,可代替使用new创建自身对象


例子:

(1)创建一个Money类,实现Cloneable接口

public class Money implements Cloneable{    private double amout;//金额    private String type;//币种    public Money() {    }    public Money(double amout, String  type) {        this.amout = amout;        this.type = type;    }    public double getAmout() {        return amout;    }    public void setAmout(double amout) {        this.amout = amout;    }    public String getType() {        return type;    }    public void setType(String type) {        this.type = type;    }    public Object clone() throws CloneNotSupportedException{        return super.clone();//实现一个自身的克隆    }}

(2)客户端测试

public class Test {    public static void main(String[] args) throws CloneNotSupportedException{        Money money=new Money(100,"¥");        Money money1=(Money) money.clone();//克隆一个对象        System.out.println("我是克隆的:"+money1.getType()+money1.getAmout());    }}


输出结果:

我是克隆的:¥100.0



原创粉丝点击