原型模式

2020-08-04  本文已影响0人  潜心之力

一、模式简介

定义:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。
场景:对象之间相同或相似,创建过程比较麻烦,复制比较简单的时候。

二、模式实现

public class RealizeType implements Cloneable { -> 实现接口
    
    private String name;
    
    private Integer age;
    
    private String sex;
    
    @Override
    public Object clone() throws CloneNotSupportedException { -> 重写方法并修改修饰符
        return super.clone();
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "RealizeType{" + "name='" + name  + ", age=" + age + ", sex='" + sex + '}';
    }
}
try {
    RealizeType realizeType1 = new RealizeType();
    realizeType1.setName("wjx");
    realizeType1.setAge(20);
    realizeType1.setSex("male");
    RealizeType realizeType2 = (RealizeType) realizeType1.clone();
    realizeType2.setName("xjw");
    System.out.println(realizeType1.toString());
    System.out.println(realizeType2.toString());
} catch (Exception e) {
    e.printStackTrace();
}
上一篇下一篇

猜你喜欢

热点阅读