原型模式(深浅克隆)

浅克隆

用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相司的新对象。
结构
原型模式包含如下角色:
抽象原型类:规定了具体原型对象必须实现的的clone()方法。
具体原型类:实现抽象原型类的clone()方法,它是可被复制的对象。
访问类:使用具体原型类中的clone()方法来复制新的对象。

具体原型类:

public class Cltation implements Cloneable{
private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
@Override
protected Cltation clone() throws CloneNotSupportedException {
System.out.println("具体原型复制成功");
return (Cltation)super.clone();
}

public void show(){
System.out.println(name+"评为三好学生,特发此状!");
}
}
访问类:
public class Client {
public static void main(String[] args) throws Exception{
//创建原型对象
Cltation cltation=new Cltation();
//克隆原型对象
Cltation cltation1=cltation.clone();
cltation.setName("张三");
cltation1.setName("李四");
cltation.show();
cltation1.show();
}

}
posted @ 2023-03-13 17:58  鲁班大师智商二百五  阅读(69)  评论(0)    收藏  举报