黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

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

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


一.簡單工廠模式


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


代碼如下:

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 | 国产在播放一区 | 欧美日韩国产一区二区 | 亚洲欧美一区二区三区久本道 | 亚洲欧美日韩中字综合 | 欧美午夜激情影院 | 成人免费体验区福利云点播 | 国产一级毛片免 | 日韩美一区二区 | 亚洲欧美v国产一区二区 | 视频在线色 | 国产日韩欧美中文字幕 | 国产视频一区二区在线播放 | 国产日韩欧美在线视频免费观看 | 国产精品一区二区久久精品 | 亚洲热久久 | 免费成人高清视频 | 欧美午夜激情影院 | 91探花福利精品国产自产在线 | 国产日本在线视频 | a毛片在线看片免费 | 午夜日韩久久影院 | 亚洲精品在线免费看 | 小明台湾成人永久免费看看 | 最近最新中文字幕免费大全3 | 日韩日韩日韩日韩 | 日韩系列第一页 | 手机国产精品一区二区 | 亚洲福利精品 | 高清欧美在线三级视频 | 免费在线看a | 中文字幕日韩高清 | 丁香五香天堂网 | 亚洲一区二区三区国产精品 | 中文字幕一区二区三区精品 |