大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Java工廠模式菜鳥教程,快學起來呀

Java工廠模式菜鳥教程,快學起來呀

更新時間:2020-09-17 15:03:48 來源:動力節點 瀏覽1700次


一.簡單工廠模式


簡單工廠模式就是把對類的創建初始化全都交給一個工廠來執行,而用戶不需要去關心創建的過程是什么樣的,只用告訴工廠我想要什么就行了。而這種方法的缺點也很明顯,違背了設計模式的開閉原則,因為如果你要增加工廠可以初始化的類的時候,你必須對工廠進行改建


代碼如下:

package com.long88.ad.test;
 
interface  Car {
    public void getCar();
}
package com.long88.ad.test;
 
public class BMW implements Car{
 
    @Override
    public void getCar() {
        System.out.printf("來一輛BMW!");
    }
}
package com.long88.ad.test;
 
public class BYD implements Car {
    @Override
    public void getCar() {
        System.out.printf("來一輛BYD!");
    }
}
package com.long88.ad.test;
 
public class CarFactor {
 
    public static Car carFactor(Class tClass){
        if (tClass.getName().equals(BMW.class.getName())){
            return new BMW();
        }
        if (tClass.getName().equals(BYD.class.getName())){
            return new BYD();
        }
        return null;
    }
}
package com.long88.ad.test;
 
public class testFactory {
 
    public static void main(String[] args) {
        Car car = CarFactor.carFactor(BYD.class);
        car.getCar();
    }
}


結果如圖:


Java工廠模式菜鳥教程


二. 工廠方法模式


設計一個工廠的接口,你想要什么東西,就寫個類繼承于這個工廠,這樣就不用修改什么,直接添加就行了。就相當于,我這個工廠是用來生汽車的,而要什么品牌的汽車具體分到了每個車間,如果新多了一種品牌的汽車,直接新增一個車間就行了。那么問題又來了,如果想要生產大炮怎么辦?


代碼如下:

package com.long88.ad.test;
 
interface  Car {
    public void getCar();
}
package com.long88.ad.test;
 
public class BMW implements Car{
 
    @Override
    public void getCar() {
        System.out.printf("來一輛BMW!");
    }
}
package com.long88.ad.test;
 
public class BYD implements Car {
    @Override
    public void getCar() {
        System.out.printf("來一輛BYD!");
    }
}
//抽象工廠
interface CarFactory{
    public Car getCarByFactory();
}
// BMW 具體工廠類
class BMWfactory implements CarFactory{
  
    @Override
    public Car getCarByFactory() {
        return new BMW();
    }
}
// BYD 具體工廠類
class BYD factory implements CarFactory{
  
    @Override
    public Car getCarByFactory() {
        return new BYD ();
    }
}
public class TestFactory {
    public static void main(String[] args) {
        Car bmw= new BMWfactory().getCarByFactory();
        bmw.getCar();
    }
}


以上就是對“Java工廠模式菜鳥教程,快學起來呀”的介紹,希望對大家有所幫助,還想學習更多關于Java的課程,可以關注動力節點官網Java視頻教程,免費下載學習。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 亚洲精品日韩一区二区 | www.黄网站 | 欧美一级看片a免费观看 | 欧美成人另类 | 羞羞视频免费观看网站 | 91麻豆精品一二三区在线 | 日本一级一片免在线观看 | 亚洲欧美日韩综合一区久久 | 五月天婷婷激情视频 | 牛牛影视在线观看片免费 | 国产精品岛国久久久久 | 伊人久久婷婷丁香六月综合基地 | 奇米888影视| a在线视频免费观看 | 特黄特色一级aa毛片免费观看 | 亚洲综合区| 久久精彩免费视频 | 国产a网 | 成人一级免费视频 | 久久精品国产视频 | 天天射网 | 国产99在线 | 亚洲 | 六月色婷婷 | 国产午夜精品尤物福利视频 | 国产综合久久久久久 | 亚洲69| 国产视频久 | 99久热成人精品视频 | 免费看色片网站 | 国产资源精品一区二区免费 | 被公侵犯肉体中文字幕一区二区 | 亚洲成a人一区二区三区 | 欧美成人精品一区二三区在线观看 | 精品亚洲视频在线 | 在线午夜 | 国产欧美日韩免费一区二区 | 国四虎影永久 | 免费在线看a | 国产这里只有精品 | 99视频免费看 | 91精品国产亚一区二区三区 |