Contents
7.24. 工厂方法¶
工厂方法用于创建产品,并隐藏了产品对象实例化的过程。
根据不同的参数生成不同的对象
#!/usr/bin/env python
#-*- coding:utf8 -*-
# auther; 18793
# Date:2019/7/20 15:52
# filename: 工厂类.py
class Factory:
def createFruit(self,fruit):
if fruit == "apple":
return Apple()
elif fruit == "banana":
return Banana()
else:
raise Exception("类不存在")
class Fruit:
def __str__(self):
return "fruit"
class Apple(Fruit):
def __str__(self):
return "apple"
class Banana(Fruit):
def __str__(self):
return "banana"
if __name__ == '__main__':
factory = Factory()
print(factory.createFruit("apple"))
print(factory.createFruit("banana"))
# print(factory.createFruit("banana22"))
输出信息
apple
banana
在添加新的产品时,需要修改工厂方法的实现。使用非常广泛