(2013年下半年下午试题三)阅读下列说明和图,回答问题1至问题3,将解答填在答题纸的对应栏内。 【说明】 某航空公司会员积分系统(CFrequentFlyer)的主要功能描述如下。 乘客只要办理该航空公司的会员卡,即可成为普卡会员

admin2018-07-27  10

问题 (2013年下半年下午试题三)阅读下列说明和图,回答问题1至问题3,将解答填在答题纸的对应栏内。
    【说明】
    某航空公司会员积分系统(CFrequentFlyer)的主要功能描述如下。
    乘客只要办理该航空公司的会员卡,即可成为普卡会员(CBasic)。随着飞行里程数的积累,可以从普卡会员升级到银卡会员(CSilver)或金卡会员(CGold)。非会员(CNonMember)小能累积里程数。
    每年年末,系统根据会员在本年度累积的里程数对下一年会员等级进行调整。
    普卡会员在一年内累积的里程数若满25000英里但不足50000英里,则自动升级为银卡会员;若累积的里程数在50000英里以上,则自动升级为金卡会员。银卡会员在一年内累积的里程数若在50000英里以上,则自动升级为金卡会员。
    若一年内没有达到对应级别要求的里程数,则自动降低会员等级。金卡会员一年内累积的里程数若不足25000英里,则自动降级为普卡会员;若累积的里程数达到25000英里,但是不足50000英里,则自动降级为银卡会员。银卡会员一年内累积的里程数若不足25000英里,则自动降级为普卡会员。
    采用面向对象方法对会员积分系统进行分析与设计,得到如图10.13所示的状态图和图10.14所示的类图。

图10.14所示的类图中使用了哪种设计模式?在这种设计模式下,类CFrequentFlyer必须具有的属性是什么?C1~C4中的trave1方法应具有什么功能?

选项

答案策略模式。策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。类CFrequentFlyer必须具有的属性是封装。C1~C4中的travel方法应该具有根据不同飞行里程相互转换的功能。

解析 策略模式让算法独立于使用它的客户而独立变化。类CFrequentFlyer必须具有的属性是封装。根据说明,C1~C4中的trave1方法应该具有根据不同飞行里程相互转换的功能。
转载请注明原文地址:https://kaotiyun.com/show/hzxZ777K
0

最新回复(0)