抽象工廠類

2021-07-23 21:03:06 字數 946 閱讀 5205

抽象工廠模式是工廠模式的進一步抽象

他們的區別如下:

工廠方法模式:

乙個抽象產品類,可以派生出多個具體產品類。

乙個抽象工廠類,可以派生出多個具體工廠類。

每個具體工廠類只能建立乙個具體產品類的例項。

抽象工廠模式:

多個抽象產品類,每個抽象產品類可以派生出多個具體產品類。

乙個抽象工廠類,可以派生出多個具體工廠類。

每個具體工廠類可以建立多個具體產品類的例項,也就是建立的是乙個產品線下的多個產品。

比如說工廠可以生產滑鼠和鍵盤。那麼抽象工廠的實現類(它的某個具體子類)的物件都可以生產滑鼠和鍵盤,但可能工廠

a生產的是羅技的鍵盤和滑鼠,工廠

b是微軟的。

例子:
定義乙個工廠抽象類

public inte***ce abtractfactory

兩個食品的抽象類

public inte***ce fooda

工廠實現類

public class createfactoryb implements abtractfactory

@override

public foodb factoryb()

}public class createfactorya implements abtractfactory

@override

public foodb factoryb()

產品實現類:有四個實現類,舉例乙個

public class createaa implements fooda

}測試類

public class test }

執行結果為

這個是質量為a的fooda

這個是質量為a的foodb

這個是質量為b的fooda

這個是質量為b的foodb

抽象工廠類(二)

本次例項繼續上次 工廠方法 中的果園農場。這次,該農場公司引進塑料大棚技術,在大棚裡種植熱帶 tropical 水果和蔬菜。水果介面 author 88250 version 1.0.0,2007 8 13 see cn.edu.ynu.sei.factorymethod.fruit public ...

抽象工廠模式 抽象工廠模式

抽象工廠模式其實是圍繞了乙個超級工廠建立其他的工廠 可參考工廠模式 這個超級工廠又可以想像成是其他工廠的工廠,這種設計模式是一種建立型模式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指出其類。每個生成的工廠都能按照工廠模式提供物件。意圖提供乙個建立一系列相關或相互依賴物件的介面,...

工廠模式 抽象工廠

在看抽象工廠前,我們需要引入兩個概念 1 產品等級結構 2 產品族 我們現在有這樣兩個產品型別 汽車 car 自行車 bike 有兩家公司 寶馬 bmw 奧迪 audi 每乙個廠家都能夠生產這兩種型別的產品 bmw介面 bmwcar,bmwbike audi介面 audicar,audibike 在...