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