Python实现Factory Method模式

本文介绍了一种软件设计模式——工厂模式的实现方式。首先定义了一个抽象基类Product,并为其赋予了一个say方法;然后通过ConcreteProduct类对其进行具体实现。接着定义了抽象基类Factory,并通过ConcreteFactory实现了具体的工厂类。最后实例化ConcreteFactory并调用其createProduct方法创建ConcreteProduct对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#-*-coding:utf-8-*-


'''
1,从一些产品中提取出共同的属性和方法,组建为基类
  再通过继承基类来实现具体的产品类
2,定义工厂接口,
'''
from abc import ABCMeta, abstractmethod, abstractproperty
class Product():
    __metaclass__ = ABCMeta #使得Product为抽象基类
    
    def __init__(self):
        pass
    def say(self):
        print 'I have a dream!'

class ConcreteProduct(Product):
    def say(self):
        print 'I want to travel!'

class Factory():
    __metaclass__ = ABCMeta
    
    def __init__(self):
        pass
    def createProduct(self):
        pass
    
class ConcreteFactory(Factory):
    def createProduct(self):
        return ConcreteProduct()
#创建一类产品
'''
为一类对象提供创建接口或延迟对象的创建到子类中实现
'''

if __name__ == "__main__":
    cf1 = ConcreteFactory()
    cp1 = cf1.createProduct()
    cp1.say()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值