日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java汽车生产工厂模式_什么是工厂模式java

發(fā)布時間:2025/3/21 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java汽车生产工厂模式_什么是工厂模式java 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

什么是工廠模式j(luò)ava

工廠模式(Factory Pattern)是 Java 中最常用的設(shè)計模式之一。這種類型的設(shè)計模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對象的最佳方式。

在工廠模式中,我們在創(chuàng)建對象時不會對客戶端暴露創(chuàng)建邏輯,并且是通過使用一個共同的接口來指向新創(chuàng)建的對象。

簡單的講就是用工廠方法代替了new的操作,在通俗點就是說,你new一個對象的時候直接調(diào)用工廠方法就行了,在編程時,需要定義一個工廠接口,由不同的的子類去實現(xiàn),再定一個具體工廠類,定義一個產(chǎn)生實例的方法,我們通過這個方法來獲得實例就行了。

優(yōu)點:

1、一個調(diào)用者想創(chuàng)建一個對象,只要知道其名稱就可以了。

2、擴展性高,如果想增加一個產(chǎn)品,只要擴展一個工廠類就可以。

3、屏蔽產(chǎn)品的具體實現(xiàn),調(diào)用者只關(guān)心產(chǎn)品的接口。

缺點:

每次增加一個產(chǎn)品時,都需要增加一個具體類和對象實現(xiàn)工廠,使得系統(tǒng)中類的個數(shù)成倍增加,在一定程度上增加了系統(tǒng)的復(fù)雜度,同時也增加了系統(tǒng)具體類的依賴。這并不是什么好事。

應(yīng)用實例:

1、您需要一輛汽車,可以直接從工廠里面提貨,而不用去管這輛汽車是怎么做出來的,以及這個汽車?yán)锩娴木唧w實現(xiàn)。

工廠模式的簡單實現(xiàn)如下://所有車的接口 有一個共同改的方法 開車

public interface Car {

public void drive();

}

//奧迪類 實現(xiàn)car接口因為奧迪車也是車 肯定可以開的嘛

public class Audi implements Car {

public Audi(){

System.out.println("生產(chǎn)出一輛奧迪");

}

@Override

public void drive() {

System.out.println("開奧迪");

}

}

//寶馬類 實現(xiàn)car接口因為寶馬車也是車 肯定也可以開

public class Bmw implements Car{

public Bmw(){

System.out.println("生產(chǎn)出一輛寶馬");

}

@Override

public void drive() {

System.out.println("開寶馬");

}

}

//生產(chǎn)車的工廠 該工廠接收一個車名 你只需要告訴他你要生產(chǎn)什么車 就可以生產(chǎn)出對應(yīng)的車出來

public class CarFactory {

public static Car getCar(String caename){

if(caename.equals("audi")){

return new Audi();

}else if(caename.equals("bmw")){

return new Bmw();

}

return null;

}

}

//測試

public class Test {

public static void main(String[] args) {

//告訴工廠類 你需要生產(chǎn)出一輛奧迪車 那么給昂他傳一個參數(shù)audi進(jìn)去

Car audi = CarFactory.getCar("audi");

//就可以生產(chǎn)出奧迪的車 調(diào)用開車的方法就可以開車?yán)?/p>

audi.drive();

//寶馬類似

Car bmw = CarFactory.getCar("bmw");

bmw.drive();

}

}

輸出:

成產(chǎn)出一輛奧迪

開奧迪

生產(chǎn)出一輛寶馬

開寶馬

總結(jié)

以上是生活随笔為你收集整理的java汽车生产工厂模式_什么是工厂模式java的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。