首页 > 编程语言 > 详细

python实现单例工厂模式

时间:2020-02-15 15:00:35      阅读:66      评论:0      收藏:0      [点我收藏+]
class CarFactory:

    '''python实现单例工厂模式'''

    __obj = None
    __flg_init = True

    def __new__(cls, *args, **kwargs):
        if cls.__obj is None:
            cls.__obj = object.__new__(CarFactory)

        return cls.__obj

    def __init__(self):
        if CarFactory.__flg_init:
            print('工厂产生了')
            CarFactory.__flg_init = False

    def creatCar(self, car_name):

        if car_name == 'Benz':
            car = Benz()

        elif car_name == 'BMW':
            car = BMW()

        else:
            car = BYD()

        return car


class Benz:
    def __init__(self):
        print('奔驰产生了')


class BMW:
    def __init__(self):
        print('宝马产生了')


class BYD:
    def __init__(self):
        print('比亚迪产生了')


cf = CarFactory()
cf2 = CarFactory()

print(cf)
print(cf2)

cf.creatCar('123')

cf2.creatCar('Benz')

python实现单例工厂模式

原文:https://www.cnblogs.com/python99/p/12311886.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!