案例分析题

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某航空公司的会员积分系统将其会员划分为:普卡 (Basic) 、银卡(Silver)和金卡 (Gold)三个等级。非会员 (NonMember)可以申请成为普卡会员。会员的等级根据其一年内累积的里程数进行调整。描述会员等级调整的状态图如图6-1 所示 。现采用状态 (State) 模式实现上述场景,得到如图6-2 所示的类图。

【正确答案】

(1) double travel(int miles,FrequentFlyer context)
(2) context.setState(new CSilver() )
(3) context.setState(new CGold())
(4) context.setState(new CSilver())
(5) context.setState(new CBasic())

【答案解析】