码迷,mamicode.com
首页 > 编程语言 > 详细

python实现单例工厂模式

时间:2020-02-15 15:51:52      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:init   sel   return   object   war   __init__   ==   else   python实现   

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实现单例工厂模式

标签:init   sel   return   object   war   __init__   ==   else   python实现   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!