原型模式(prototype)構建模式
定義用原型實例制定穿件對象的類型,并拷貝這個原型來創建對象。
含義
一個操作或是一個對象在創建一個制定的對象的時候,無需知道該對象的創建過程,根據所給的原型對象拷貝出所需的對象。
使用
因為java語言中有clone()方法,所以實現起來很容易。
例子
public abstract class AbstractPrototype implements Cloneable
{
String name;
public void setName(String Name) {this.name = name;}
public String getName() {return this.name;}
public Object clone()
{
Object object = null;
try {
object = super.clone();
} catch (CloneNotSupportedException exception) {
System.err.println("AbstractPrototype is not Cloneable");
}
return object;
}
}
public class SoupPrototype extends AbstractPrototype
{
public SoupPrototype()
{
setName("Soup Prototype");
}
}
public class SaladPrototype extends AbstractPrototype
{
public SaladPrototype()
{
setName("Salad Prototype");
}
}
調用就很簡單了
AbstractPrototype soup = new SoupPrototype();
AbstractPrototype salad = new SaladPrototype();
SoupPrototype soupClone = (SoupPrototype)soup.clone();
SaladPrototype saladClone = (SaladPrototype)salad.clone();
這兩個克隆出來的對象就是你想要的了 是不是很簡單呀。