練習:設計類
- 設計一個賣車的4S店,該怎樣做呢?
#定義車類
class Car(object):
# 定義車的方法
def move(self):
print("—車在移動—")
def stop(self):
print("—停車—")
#定義一個銷售車的店類
class CarStore(object):
def order(self):
car = Car() #找一輛車
return car
#1. 先的有個銷售汽車的店鋪
car_store = CarStore()
#2. 通過這家店鋪,訂購車
my_car = car_store.order()
#3. 開車爽。。。
my_car.move()
my_car.stop()
說明
上面的4s店,只能銷售一種型別的車
如果這個是個銷售北京現代品牌的車,比如伊蘭特、索納塔等,該怎樣做呢?
- 設計一個賣北京現代車的4S店
#定義伊蘭特車類
class YilanteCar(object):定義車的方法
def move(self):
print("—車在移動—")
def stop(self):
print("—停車—")
#定義索納塔車類
class SuonataCar(object):
# 定義車的方法
def move(self):
print("—車在移動—")
def stop(self):
print("—停車—")
#定義一個銷售北京現代車的店類
class CarStore(object):
def order(self, typeName):
#根據客戶的不同要求,生成不同的型別的車
if typeName == “伊蘭特”:
car = YilanteCar()
elif typeName == “索納塔”:
car = SuonataCar()
return car
xiandai_store = CarStore()
my_car = xiandai_store.order(“索納塔”)
my_car.move()
my_car.stop()
這樣做,不太好,因為當北京現代又生產一種新型別的車時,那麼又得在CarStore類中修改,有沒有好的解決辦法呢?