python抽象工厂模式_Python设计模式之抽象工厂模式
Python設(shè)計(jì)模式之抽象工廠模式
這篇文章主要為大家詳細(xì)介紹了Python設(shè)計(jì)模式之抽象工廠模式,感興趣的小伙伴們可以參考一下
python面向?qū)ο缶幊倘腴T,我們需要不斷學(xué)習(xí)進(jìn)步
"""抽象工廠模式的實(shí)現(xiàn)"""
import random
class PetShop:
"""寵物商店"""
def __init__(self, animal_factory=None):
"""寵物工廠是我們的抽象工廠。我們可以隨意設(shè)置。"""
self.pet_factory = animal_factory
def show_pet(self):
"""使用抽象工廠創(chuàng)建并顯示一個(gè)寵物"""
pet = self.pet_factory.get_pet()
print("我們有一個(gè)可愛的 {}".format(pet))
print("它說 {}".format(pet.speak()))
print("我們還有 {}".format(self.pet_factory.get_food()))
# 工廠生產(chǎn)的事物
class Dog:
def speak(self):
return "汪"
def __str__(self):
return "Dog"
class Cat:
def speak(self):
return "喵"
def __str__(self):
return "Cat"
# Factory classes
class DogFactory:
def get_pet(self):
return Dog()
def get_food(self):
return "狗食"
class CatFactory:
def get_pet(self):
return Cat()
def get_food(self):
return "貓糧"
# 隨機(jī)創(chuàng)建合適的工廠
def get_factory():
"""讓我們動(dòng)起來!"""
return random.choice([DogFactory, CatFactory])()
# 多個(gè)工廠顯示寵物
if __name__ == "__main__":
for i in range(4):
shop = PetShop(get_factory())
shop.show_pet()
print("=" * 20)
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助
完 謝謝觀看
總結(jié)
以上是生活随笔為你收集整理的python抽象工厂模式_Python设计模式之抽象工厂模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 特斯拉高管澄清是卖不动了才降的价:这是无
- 下一篇: 中科宇航产业化基地落成投产,力箭系列运载