天天看點

定義一個創造汽車的工廠類                                                                   -------  知識無價,汗水有情,如需搬運請注明出處,謝謝!

# 定義奔馳車類
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店隻負責銷售,汽車廠隻負責制造
      

  

                                                                   -------  知識無價,汗水有情,如需搬運請注明出處,謝謝!

繼續閱讀