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

在添加新的产品时,需要修改工厂方法的实现。使用非常广泛