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

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

Java工廠模式菜鳥教程,快學(xué)起來呀

更新時(shí)間:2020-09-17 15:03:48 來源:動力節(jié)點(diǎn) 瀏覽1680次


一.簡單工廠模式


簡單工廠模式就是把對類的創(chuàng)建初始化全都交給一個(gè)工廠來執(zhí)行,而用戶不需要去關(guān)心創(chuàng)建的過程是什么樣的,只用告訴工廠我想要什么就行了。而這種方法的缺點(diǎn)也很明顯,違背了設(shè)計(jì)模式的開閉原則,因?yàn)槿绻阋黾庸S可以初始化的類的時(shí)候,你必須對工廠進(jìn)行改建


代碼如下:

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();
    }
}


結(jié)果如圖:


Java工廠模式菜鳥教程


二. 工廠方法模式


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


代碼如下:

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工廠模式菜鳥教程,快學(xué)起來呀”的介紹,希望對大家有所幫助,還想學(xué)習(xí)更多關(guān)于Java的課程,可以關(guān)注動力節(jié)點(diǎn)官網(wǎng)Java視頻教程,免費(fèi)下載學(xué)習(xí)。


提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美一欧美一区二三区性 | 日日摸夜夜嗷嗷叫日日拍 | 福利网站在线观看 | 亚洲在线观看 | 精品成人免费一区二区在线播放 | 免费一级毛片清高播放 | 免费看真人a一级毛片 | 久久亚洲不卡一区二区 | 欧美 日本 国产 | 亚洲精品久久久久久久久久久网站 | 深夜在线视频 | 中文一级国产特级毛片视频 | 国产精品一区在线麻豆 | 丁香六月色婷婷 | 亚洲国产精品久久久天堂 | 日本不卡免免费观看 | 日韩欧美精品综合一区二区三区 | 欧美精品一区二区三区久久 | 亚洲日日| 狠狠的干狠狠的操 | 久久99精品福利久久久 | 欧美又乱又伦观看 | 久久综合九色欧美综合狠狠 | 久久精品亚洲99一区二区 | 黄色午夜影院 | 综合亚洲一区二区三区 | 奇米线在人线免费视频 | 香蕉视频成人在线观看 | 久草热久 | 国产精品9999久久久久仙踪林 | 国产成人午夜片在线观看 | 久久99国产综合色 | 97国产成人精品免费视频 | 国产免费久久精品 | 成人国产精品一级毛片天堂 | 97免费| 久久国产精品免费 | 爱婷婷网站在线观看 | 成年女人色毛片免费看 | 日日噜噜夜夜狠狠久久丁香 | 国产亚洲精品久久 |