java設計模式連載(4) --原型模式
名稱:Prototype
意圖:
用原型執行個體指定建立對象的種類,並且通過拷貝這些原型建立新的對象。
適用性:
當要執行個體化的類是在運行時刻指定時,例如,通過動態裝載;或者
為了避免建立一個與產品類層次平行的工廠類層次時;或者
當一個類的執行個體只能有幾個不同狀態組合中的一種時。建立相應數目的原型並複製它們可能比每次用合適的狀態手工執行個體化該類更方便一些。
執行個體:
1.建立一個具有複製功能的原型
package The_Prototype_Pattern;public class Sheep implements Cloneable{ private String name; public void setName(String name) { this.name = name; } public String getName() { return this.name; } public Object clone(){ try { return super.clone(); } catch (Exception e) { e.printStackTrace(); return null; } } } 2. 寫一個複製的類
package The_Prototype_Pattern;public class CloneSheep extends Sheep{ public CloneSheep(String name){ this.setName(name); }}
3. 寫一個測試類別
package The_Prototype_Pattern;public class Test { public static void main(String[] args){ Sheep pro = new CloneSheep("複製羊"); Sheep pro4 = new CloneSheep("複製羊"); Sheep pro2 = (Sheep)pro.clone(); Sheep pro3 = (Sheep)pro2.clone(); System.out.println(pro.getName()+":"+pro); System.out.println(pro2.getName()+":"+pro2); System.out.println(pro3.getName()+":"+pro3); System.out.println(pro4.getName()+":"+pro4); }}
4. 多謝瀏覽