国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java設計模式之簡單工廠模式

2019-11-14 10:01:53
字體:
來源:轉載
供稿:網友

簡單工廠模式(Simple Factory Pattern)又叫靜態工廠方法模式(Static FactoryMethod Pattern),是通過專門定義一個類來負責創建其他類的實例,被創建的實例通常都具有共同的父類。當你需要什么,只需要傳入一個正確的參數,就可以獲取你所需要的對象,而無須知道其創建細節。

簡單工廠模式其實不是一個設計模式,反而比較像是一種編程習慣。但由于經常被使用,所以我們先來學習。

用簡單工廠模式寫的烤魚店實例類圖如下: 烤魚店實例類圖 客人通過KaoYu類的orderFish()方法來點單,SimpleFishFactory類的orderFish()負責創建不同烤魚類型,Fish是烤魚父類,CaoYu,NianYu,JiYu,LuYu是具體實現。

Fish類代碼實現:

public class Fish { String name = "Unknow name"; public String getname(){ return name; }}

CaoYu類代碼實現:

public class CaoYu extends Fish{ public CaoYu(){ name = "草魚"; System.out.NianYu類代碼實現:

public class NianYu extends Fish{ public NianYu(){ name = "鯰魚"; System.out.println("烤"+name); }}

JiYu類代碼實現:

public class JiYu extends Fish{ public JiYu(){ name = "鯽魚"; System.out.println("烤"+name); }}

LuYu類代碼實現:

public class LuYu extends Fish{ public LuYu(){ name = "鱸魚"; System.out.println("烤"+name); }}

SimpleFishFactory類代碼實現:

public class SimpleFishFactory { public Fish createFish(String type){ if (type.equals("CaoYu")) { return new CaoYu(); }else if (type.equals("NianYu")) { return new NianYu(); }else if (type.equals("JiYu")) { return new JiYu(); }else if (type.equals("LuYu")) { return new LuYu(); } return null; }}

createFish方法根據傳進來的不同參數,返回一個對應的對象。

KaoYu類代碼實現:

public class KaoYu { SimpleFishFactory factory; public KaoYu(SimpleFishFactory factory){ this.factory = factory; } public Fish orderFish(String type){ Fish fish; fish = factory.createFish(type); System.out.println("我是一條烤"+fish.getname()); return fish; }}

KaoYu類傳進來一個SimpleFishFactory對象,然后orderFish根據type來返回一個對應的對象。

測試類KaoYuTest代碼實現:

public class KaoYuTest { public static void main(String[] args){ SimpleFishFactory factory = new SimpleFishFactory(); KaoYu kaoYu = new KaoYu(factory); kaoYu.orderFish("JiYu"); }}

執行結果:

烤鯽魚我是一條烤鯽魚
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青海省| 盘山县| 汝南县| 高碑店市| 沁源县| 章丘市| 永丰县| 赤水市| 高碑店市| 宝应县| 罗山县| 项城市| 东平县| 芜湖县| 绩溪县| 松原市| 柏乡县| 广安市| 建始县| 南皮县| 伽师县| 边坝县| 建始县| 张掖市| 鹤壁市| 桐梓县| 四子王旗| 喜德县| 革吉县| 佛坪县| 松桃| 涪陵区| 商水县| 奎屯市| 抚顺县| 罗城| 曲沃县| 于都县| 青神县| 广西| 茶陵县|