描述
设计一个餐馆:
不考虑预订座位
不考虑订外卖
餐馆的桌子有不同大小
餐馆会优先选择适合当前Party最小的空桌
请实现
Restaurant Class
, hints:findTable()
,takeOrder()
,checkOut()
.
思路
感觉OOD主要就是脑洞啊…尽量往实际场景中靠拢.
需要考虑实现的对象:
Meal
-price
(lunch or dinner)
-available_time
Order
List<Meal> meals
mergeOrder()
(客人要求加菜)getMeals()
getBill()
Table
size
(capacity
)available
getOrder
(一张桌子对应一个订单)setOrder
Party
size
实现的方法:
findTable()
返回最小的available tablecheckOut(Table t)
takeOrder(Table t, Order o)
代码
1 | class NoTableException extends Exception{ |