#创建汉堡的父类,并根据父类创建几个子类
class Hamburger:
def make(self):
print("您没有正确选择要制作的汉堡,请重新输入")
class FishHamburger(Hamburger):
def make(self):
print("您的鱼肉汉堡已经制作好了")
class BeafHamburger(Hamburger):
def make(self):
print("您的牛肉汉堡已经制作好了")
class ChickenHamburger(Hamburger):
def make(self):
print("您的鸡肉汉堡已经制作好了")
#工厂类,用来判断用户输入的值并创建相应的对象
class HamburgerFactory:
@classmethod
def getinput(cls,temp):
if temp=="1":
ch=FishHamburger()
elif temp=="2":
ch=BeafHamburger()
elif temp=="3":
ch=ChickenHamburger()
else:
ch=Hamburger()
return ch
#主方法,通过用户输入的值调用工厂的类方法
while True:
temp=input("请输入您要制作汉堡的序号,1.鱼肉汉堡,2.牛肉汉堡,3.鸡肉汉堡")
if temp=="1" or temp=="2" or temp=="3":
ch=HamburgerFactory.getinput(temp)
ch.make()
break
else:
ch=Hamburger()
ch.make()
continue