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

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

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

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

簡單工廠模式(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"); }}

執行結果:

烤鯽魚我是一條烤鯽魚
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 镶黄旗| 班戈县| 安达市| 乐山市| 宁陵县| 托克托县| 昭通市| 天门市| 富民县| 建宁县| 武定县| 岳普湖县| 巴林右旗| 文成县| 东至县| 莆田市| 黑龙江省| 光山县| 武清区| 镇宁| 康定县| 郯城县| 绍兴县| 拉孜县| 沁阳市| 买车| 潜江市| 武定县| 罗城| 文登市| 福泉市| 舒兰市| 宝丰县| 廉江市| 永德县| 东方市| 淮南市| 梨树县| 开阳县| 柳江县| 谷城县|