class truck:
def use(self):
return "拉貨"
def __str__(self):
return "大卡車"
class minicar:
def use(self):
return "帶妹兜風"
def __str__(self):
return "小轎車"
# 定義一個大卡車工廠,作用是建立物件
class truck_factory():
def makecar(self):
return truck()
def makewheel(self):
return "生產大輪子"
# 定義一個小汽車工廠
class car_factory():
def makecar(self):
return minicar()
def makewheel(self):
return "生產小輪子"
# 定義一個方法用於呼叫工廠類生產相關的物件產品
def Factorys():
#也可以在工廠列表中再新增工廠類
factory = [car_factory(),truck_factory()]
# 此處我選擇了car_factory工廠進行物件的建立
return factory[0]
#定義一個“商店”類,類中建立方法用於展示“商品”物件。
class carstop:
def __init__(self,factory = None):
self.Factorys = factory
def showcar(self):
car = self.Factorys.makecar()
wheel = self.Factorys.makewheel()
print("*"*25)
print("我是一輛%s" % (car))
print("我能用%s%s" %(car,car.use()))
print("%s 工廠也能夠 %s"%(car,wheel))
print("*"*25)
# 實現物件呼叫
if __name__ =="__main__":
carstop(Factorys()).showcar()
程式執行結果如下:
*************************
我是一輛小轎車
我能用小轎車帶妹兜風
小轎車 工廠也能夠 生產小輪子
*************************
抽象工廠模式之我見:
1.適合用在物件導向程式設計時,在建立一系列函式方法不確定,物件型別不確定時。
2.抽象工廠模型建立的物件沒有個性,即生產的物件沒有屬性。若要新增屬性,對其進行例項化。
3.抽象工廠模式非常靈活,可以再進行擴充套件,生產不同種類的物件,建立各種方法,即新增“工廠”類,再定義函式。
python物件導向之抽象工廠設計模式
相關文章
- golang設計模式之抽象工廠模式Golang設計模式抽象
- 設計模式系列之「抽象工廠模式」設計模式抽象
- Java 設計模式之工廠方法模式與抽象工廠模式Java設計模式抽象
- Java常用設計模式之抽象工廠模式Java設計模式抽象
- 23種設計模式之抽象工廠設計模式抽象
- 設計模式 —— 抽象工廠模式設計模式抽象
- 設計模式-抽象工廠模式設計模式抽象
- 設計模式——抽象工廠模式設計模式抽象
- 設計模式 - 抽象工廠設計模式抽象
- 設計模式----抽象工廠設計模式抽象
- 設計模式 – 抽象工廠設計模式抽象
- 設計模式之工廠模式!深入解析簡單工廠模式,工廠方法模式和抽象工廠模式設計模式抽象
- java設計模式–抽象工廠模式Java設計模式抽象
- Java設計模式-抽象工廠模式Java設計模式抽象
- 設計模式-簡單工廠、工廠方法模式、抽象工廠模式設計模式抽象
- 設計模式學習(二)工廠模式——抽象工廠模式設計模式抽象
- python設計模式之工廠模式Python設計模式
- 【Python】抽象工廠模式Python抽象模式
- 【Python設計模式】03 工廠模式:建立建立物件的工廠Python設計模式物件
- 建立型設計模式——抽象工廠模式設計模式抽象
- 設計模式(三)抽象工廠方法模式設計模式抽象
- 23種設計模式(抽象工廠模式)設計模式抽象
- JavaScript設計模式之物件導向程式設計JavaScript設計模式物件程式設計
- C# 設計模式(1)——簡單工廠模式、工廠模式、抽象工廠模式C#設計模式抽象
- 設計模式——抽象工廠實驗設計模式抽象
- python之物件導向程式設計(一)Python物件程式設計
- 設計模式--抽象工廠模式(Abstract Factory Pattern)設計模式抽象
- 設計模式-抽象工廠模式(Abstract Factory Pattern)設計模式抽象
- 設計模式學習(六)-抽象工廠模式設計模式抽象
- JAVA設計模式 3【建立型】理解工廠模式與抽象工廠模式Java設計模式抽象
- Java設計模式學習筆記——工廠模式與抽象工廠模式Java設計模式筆記抽象
- 設計模式學習(二)工廠模式——抽象工廠模式+登錄檔設計模式抽象
- JS物件導向設計模式JS物件設計模式
- Python 實現工廠模式、抽象工廠,單例模式Python模式抽象單例
- 設計模式快速學習(二)抽象工廠模式設計模式抽象
- Rust語言之GoF設計模式:抽象工廠模式RustGo設計模式抽象
- Python學習之物件導向程式設計Python物件程式設計
- Abstract Factory(抽象工廠)——物件建立型模式抽象物件模式