a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

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

java設計模式之抽象工廠模式

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

抽象工廠模式:提供一個接口,用于創建相關或依賴對象的家族,而不需要明確指定具體類。

抽象工廠允許客戶使用抽象的接口來創建一組相關的產品,而不需要知道實際產出的具體產品是什么。

烤魚之抽象工廠模式類圖: 烤魚之抽象工廠模式類圖 類A,B實現了接口TiaoLiao,分別是調料A,調料B。FactoryA,FactoryB是AbstractFactory的子類,通過create方法來實例化TiaoLiao。

TiaoLiao接口代碼實現:

public interface TiaoLiao {}

A類代碼實現:

public class A implements TiaoLiao{ public A(){ System.out.B類代碼實現:

public class B implements TiaoLiao{ public B(){ System.out.println("調料B"); }}

AbstractFactory類代碼實現:

public abstract class AbstractFactory { public abstract TiaoLiao create();}

FactoryA類代碼實現:

public class FactoryA extends AbstractFactory{ @Override public TiaoLiao create() { // TODO Auto-generated method stub return new A(); }}

FactoryB類代碼實現:

public class FactoryB extends AbstractFactory{ @Override public TiaoLiao create() { // TODO Auto-generated method stub return new B(); }}

KaoYu類代碼實現:

public class KaoYu { AbstractFactory abstractFactory; public KaoYu(AbstractFactory abstractFactory){ this.abstractFactory = abstractFactory; } public TiaoLiao orderFish(){ return abstractFactory.create(); }}

測試類AbstractFactoryTest代碼實現:

public class AbstractFactoryTest { public static void main(String[] args){ AbstractFactory abstractFactory = new FactoryA(); KaoYu kaoYu = new KaoYu(abstractFactory); kaoYu.orderFish(); AbstractFactory abstractFactory2 = new FactoryB(); KaoYu kaoYu2 = new KaoYu(abstractFactory2); kaoYu2.orderFish(); }}

運行結果:

調料A調料B
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲香蕉视频 | 欧美日韩视频在线 | 国产a免费 | 亚洲福利小视频 | 亚洲精品乱码久久久久久按摩观 | av免费观看网页 | 亚洲天堂一区二区 | 午夜久久久久 | 国产精品一区二区三 | 欧美日韩中文在线 | 日本免费三片免费观看 | 成人在线视频观看 | 亚洲视频免费在线 | 最新免费av网站 | 美女黄网| 日本欧美视频 | 久久国产精品大桥未久av | 国产涩涩 | 久久久久久影院 | 精品亚洲一区二区三区 | 久久精品国产一区二区电影 | 中文字幕久久久 | 日本淫片 | 欧美日韩精品一区二区三区四区 | 欧美亚洲国产一区二区三区 | 超碰免费人人 | 久精品视频 | 韩日精品在线观看 | 在线观看免费av网 | 日韩aaa久久蜜桃av | 人人干网站 | 国产精品白浆 | 天天干天操 | 国产无区一区二区三麻豆 | 99精品99 | 福利在线播放 | 国产成人精品久久 | av一区二区在线播放 | 操操日 | 99精品国产一区二区 | 久久久久99 |