星巴茲咖啡 賣四種主要的飲品(houseBlend DarkRoast Decaf Espresso)

getDescription() 描述飲料
cost() 算出飲料的價錢
客人買咖啡會要求加各種料,例:牛奶、豆漿、摩卡、奶泡,每項配料都需加錢
如果把每項配料都做成一個類別?
主物件 Beverage
牛奶HouseBlend extends Beverage $20
牛奶DarkRoast extends Beverage $15
牛奶Decaf extends Beverage $12
牛奶Espresso extends Beverage $17
豆漿HouseBlend extends Beverage $15
......x4
摩卡HouseBlend extends Beverage $15
......x4
奶泡HouseBlend extends Beverage $15
......x4
類別爆炸!!
Q1:如果要新增一個配料是焦糖? =>再新增四個?
Q2:如果牛奶的價錢變了? =>有關牛奶的類別都要改過?
利用實體變數和繼承呢?
有什麼需求或其他因素可能改變,而影響這個設計?
配料價格改變 會更改到程式碼。
如果出現新的配料? 要改超類別cost()對配料的計算。
如果新增新口味飲料(例如:TEA冰茶),以上配料可能不適合,但是TEA還是繼承了Beverage。
如果客人想要雙倍摩卡?
