定义一个创造汽车的工厂类

简介: # 定义奔驰车类class BenchiCar(object): # 定义车的方法 def move(self): print('---奔驰车在移动---') def stop(self): print('---奔驰车停车了---')#...
# 定义奔驰车类
class BenchiCar(object):
    # 定义车的方法
    def move(self):
        print('---奔驰车在移动---')
    def stop(self):
        print('---奔驰车停车了---')

# 定义宝马车类
class BMWCar(object):
    # 定义车的方法
    def move(self):
        print('---宝马车在移动---')

    def stop(self):
        print('---宝马车停车了---')

# 定义一个类,根据具体订单生产不同的汽车对象
class CarFactory(object):
    def creatCar(self, typeName):
        if typeName == '奔驰':
            car = BenchiCar()  # 找一辆车
        elif typeName == '宝马':
            car = BMWCar()  # 找一辆车
        return car


# 定义一个销售北京现代车的店类
class CarStore(object):
    def __init__(self):
        # 设置指定的汽车工厂
        self.carFactory = CarFactory()
    def order(self, typeName):
        # 让工厂根据类型,生产一辆汽车
        car = self.carFactory.creatCar(typeName)
        return car

pinpai_store = CarStore()
my_car = pinpai_store.order('奔驰')
my_car.move()
my_car.stop()

# 此种解决方式被称作简单工厂模式
# 工厂函数、工厂类对具体的生成环节进行了封装,这样有利于代码的后需扩展
# 即把功能划分的更具体,4s店只负责销售,汽车厂只负责制造

  

                                                                   -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

目录
相关文章
|
8月前
心得经验总结:抽象配置工厂
心得经验总结:抽象配置工厂
31 2
|
8月前
|
算法
从大工厂到小作坊
在百度工作三年后,作者经历了团队士气低落和项目业绩下滑的困境。产品问题主要归咎于不以人为本的设计和频繁的组织架构调整,导致目标模糊。尽管有技术优势,但用户不买账,产品变得复杂难用。组织动荡使团队协作受阻,最终因业务收缩而离职。加入一家小型创业公司后,作者感到轻松和希望,新项目展现出前景,团队齐心协力。
|
设计模式 Java 数据库连接
Java设计模式之抽象工厂模式:创造多个相关对象
在软件开发领域,设计模式是一种用于解决常见问题的实践方法,它提供了一些被验证过的指导原则。抽象工厂模式是创建型设计模式中的佼佼者,可以帮助我们在处理多个相关对象的创建时保持一致性。让我们深入了解抽象工厂模式的内涵以及它如何在Java中应用。
98 0
|
设计模式 算法 前端开发
【大话设计模式】-简单工厂-工厂方法-自动化实现工厂工厂方法!
【大话设计模式】-简单工厂-工厂方法-自动化实现工厂工厂方法!
129 0
|
9月前
|
存储 编译器 C语言
C++的面向诗篇:类的叙事与对象的旋律
C++的面向诗篇:类的叙事与对象的旋律
41 0
|
9月前
|
设计模式
从工厂到社会:探索如何应用设计模式工厂模式
从工厂到社会:探索如何应用设计模式工厂模式
|
9月前
|
设计模式
二十三种设计模式全面解析-抽象工厂模式:创造无限可能的工厂之道
二十三种设计模式全面解析-抽象工厂模式:创造无限可能的工厂之道
|
9月前
|
设计模式 XML JSON
二十三种设计模式全面解析-工厂模式:创造对象的魔法工厂
二十三种设计模式全面解析-工厂模式:创造对象的魔法工厂
201 0
|
供应链
智慧工厂概念
智慧工厂概念
187 0
|
设计模式 Java uml
简单工厂VS工厂方法&手写自动化工厂——系统学习六
然而我的观点是工厂方法是为了解决自动化创建对象的问题;如何理解这句话?请读者朋友继续往下看。

热门文章

最新文章