标签:__ self 抽象 pass print 设计模式 headfirsh def Pizza
"""
抽象工厂模式
"""
class PizzaIngredientFactory(object):
def __init__(self):
pass
def createDough(self):
pass
def createSauce(self):
pass
def createCheese(self):
pass
def createVeggies(self):
pass
def createPepperoni(self):
pass
def createClam(self):
pass
class NYPizzaIngredientFactory(PizzaIngredientFactory):
def __init__(self):
pass
def createDough(self):
print("制作Pizza生面团")
def createSauce(self):
print("制作番茄酱")
def createCheese(self):
print("制作芝士")
def createVeggies(self):
print("准备蒜头,洋葱,蘑菇,红辣椒")
def createPepperoni(self):
print("制作香肠")
def createClam(self):
print("制作新鲜蛤蜊")
class Pizza(object):
def __init__(self):
self.name = ""
self.sauce = None
self.veggies = []
self.cheese = None
self.popperoni = None
self.clam = None
def prepare(self):
pass
def bake(self):
print("烘烤披萨")
def cut(self):
print("把披萨切开")
def box(self):
print("把披萨放盒里")
def setName(self, sName):
self.name = sName
def getName(self):
return self.name
def toString(self):
pass
class CheesePizza(Pizza):
def __init__(self, IngredientFactory):
self.Factory = IngredientFactory
self.prepare()
def prepare(self):
dough = self.Factory.createDough()
sauce = self.Factory.createSauce()
cheese = self.Factory.createCheese()
class ClamPizza(Pizza):
def __init__(self, IngredientFactory):
self.Factory = IngredientFactory
self.prepare()
def prepare(self):
dough = self.Factory.createDough()
sauce = self.Factory.createSauce()
cheese = self.Factory.createCheese()
clam = self.Factory.createClam()
class PizzaStore(object):
def __init__(self):
pass
def orderPizza(self, type):
pizza = createPizza(type)
pizza.prepare()
pizza.bake()
pizza.cut()
pizza.box()
def createPizza(self, type):
return Pizza()
class NYPizzaStore(PizzaStore):
def __init__(self):
pass
def createPizza(self, type):
pizza = None
ingredientFactory = NYPizzaIngredientFactory()
if type == "cheese":
pizza = CheesePizza(ingredientFactory)
pizza.setName("芝士Pizza")
elif type == "clam":
pizza = ClamPizza(ingredientFactory)
pizza.setName("蛤蜊Pizza")
return pizza
pStore = NYPizzaStore()
pizza1 = pStore.createPizza("cheese")
print('Pizza是' + pizza1.getName())
print('------------------------------------')
pizza2 = pStore.createPizza("clam")
print('Pizza2是' + pizza2.getName())
"""
制作Pizza生面团
制作番茄酱
制作芝士
Pizza是芝士Pizza
------------------------------------
制作Pizza生面团
制作番茄酱
制作芝士
制作新鲜蛤蜊
Pizza2是蛤蜊Pizza
"""
标签:__,self,抽象,pass,print,设计模式,headfirsh,def,Pizza 来源: https://blog.csdn.net/Lbo_tao/article/details/122769930
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。