Python中工厂模式的实现代码示例

分类:知识百科 日期: 点击:0

,主要是实现一个工厂函数,用于根据传入的参数创建不同的对象,以下是一个简单的实现代码示例:

class Shape(object):
    def __init__(self):
        pass

    def draw(self):
        pass

class Circle(Shape):
    def __init__(self):
        super(Circle, self).__init__()
        self.name = 'Circle'

    def draw(self):
        print('draw a circle')

class Triangle(Shape):
    def __init__(self):
        super(Triangle, self).__init__()
        self.name = 'Triangle'

    def draw(self):
        print('draw a triangle')

def shape_factory(shape_type):
    if shape_type == 'Circle':
        return Circle()
    elif shape_type == 'Triangle':
        return Triangle()
    else:
        return None

if __name__ == '__main__':
    circle = shape_factory('Circle')
    triangle = shape_factory('Triangle')
    circle.draw()
    triangle.draw()

上面的代码中,定义了一个基类Shape,它有一个draw方法,定义了两个子类Circle和Triangle,它们都继承自Shape类,并实现了draw方法,定义了一个工厂函数shape_factory,它根据传入的参数shape_type,返回不同的对象,在main函数中调用了shape_factory函数,分别创建了一个Circle对象和一个Triangle对象,并调用了它们的draw方法,以实现工厂模式。

使用方法

  • 定义一个基类,它有一个或多个抽象方法;
  • 定义一些子类,它们都继承自基类,并实现了基类的抽象方法;
  • 定义一个工厂函数,它根据传入的参数,返回不同的子类对象,从而实现工厂模式。
标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。