概述
克隆模式是一种比较简单的设计模式,基本从字面意思就可以明白这种设计模式是干什么的,简单来说就是造一个和原来一模一样的对象,就叫克隆模式。克隆模式分为两种,一种是浅度克隆,一种是深度克隆,至于这两者之前的区别,看下面的代码。
浅度克隆
实体类,没有特别的作用,作为原型对象(其实就是克隆对象,原型是一个别名)中的一个引用类型的属性
packagecom.gxl.demo.DesignPattern.clonepattern;/*** Description: 实体类,作为ConcretePrototype类中的一个引用类型的属性。*/
public classAddress {publicString address;publicString getAddress() {returnaddress;
}public voidsetAddress(String address) {this.address =address;
}
}
View Code
原型对象(克隆对象)
packagecom.gxl.demo.DesignPattern.clonepattern;/*** Description: 克隆模式,浅度克隆*/
public class ConcretePrototype implementsCloneable{publicString name ;publicAddress address;publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}publicAddress getAddress() {returnaddress;
}public voidsetAddress(Address address) {this.address =address;
}publicConcretePrototype clone(){
Object obj= null;try{
obj= super.clone();return(ConcretePrototype)obj;
}catch(CloneNotSupportedException e) {
e