1. 程式人生 > >練習:設計類

練習:設計類

  1. 設計一個賣車的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店,只能銷售一種型別的車

如果這個是個銷售北京現代品牌的車,比如伊蘭特、索納塔等,該怎樣做呢?

  1. 設計一個賣北京現代車的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類中修改,有沒有好的解決辦法呢?