Factory Method模式
生活随笔
收集整理的這篇文章主要介紹了
Factory Method模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
書上說用模版方法來生成實例,就是工廠方法模式了
而這里的工廠方法要分為兩部分,一是工廠框架,二是產品框架。而這個工廠框架包括產品類和工廠類,產品框架則是產品類和工廠類的具體產品實現類和工廠實現類。所以,具體的如下面所示
框架
抽象工廠->創建抽象產品
具體實現類
具體工廠->創建具體產品類
繼承關系是
抽象工廠->由具體工廠來實現
抽象產品->由具體產品來實現
下面來具體的coding
1,框架類,包括抽象產品和抽象工廠類
package factorymethod;public abstract class ProductFactory {//生產產品public abstract Product create(String name);//注冊產品public abstract void regist(Product product); } 抽象工廠 package factorymethod;public abstract class Product {//抽象方法public abstract void use(); } 抽象產品2,具體產品類,包括具體產品和具體工廠
package factorymethod; import java.util.*;public class IdCardProductFactory extends ProductFactory {private List<Product> plist;public List<Product> getPlist() {return plist;}public void setPlist(List<Product> plist) {this.plist = plist;}@Overridepublic Product create(String name) {return new IdCardProduct(name);}@Overridepublic void regist(Product product) {plist.add(product);}} 具體工廠 package factorymethod;public class IdCardProduct extends Product {private String idName;public String getIdName() {return idName;}public void setIdName(String idName) {this.idName = idName;}IdCardProduct(String name){this.idName = name;}@Overridepublic void use() {System.out.println("正在使用"+this.idName+"的身份信息");}} 具體產品3,測試類
package factorymethod;public class maintest {public static void main(String[] args) {ProductFactory pf = new IdCardProductFactory();Product p = pf.create("lee");Product p2 = pf.create("wei");p.use();p2.use();}} 測試方法 正在使用lee的身份信息 正在使用wei的身份信息 運行結果轉載于:https://www.cnblogs.com/ningheshutong/p/6687453.html
總結
以上是生活随笔為你收集整理的Factory Method模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【bzoj1565】[NOI2009]植
- 下一篇: 转: Executor类