皮皮学,免费搜题
登录
logo - 刷刷题
搜题
【简答题】
阅读下列说明与相关类图,填空并回答问题。 【说明】 装饰者模式动态地给一个对象添加一些额外的职责,就扩展功能而言,该模式比生成子类方式更加灵活。装饰模式的提出有助于解决滥用继承的问题。 例如,一个名叫星巴兹(Starbuzz)的咖啡连锁店提供多种多样的咖啡,最朴素的设计就是采用继承,即设计一个饮料抽象基类Beverage,让不同种类的咖啡HouseBlend、 Decaf、Espresso、DarkRoast继承Beverage类,如图13-23所示。Beverage类的cost()方法是抽象方法,每个子类的cost()方法实现即返回具体咖啡种类的价钱,Beverage类的 description实例变量由每个子类设置,用来描述该类饮料,Beverage类的getDescription()方法用来返回此描述。 客户在点咖啡可以要求添加各种各样的调料(Condiment),加入的调料不同所收取的费用也是不同的,让各种加了调料的不同咖啡都继承基类Beverage,当咖啡种类和调料种类很多时,组合种类的数量就会急剧增长,就会发生“类数量爆炸”现象,如图13-24所示。 显然,采用这种设计使得代码的维护变得十分困难,可以采用装饰者模式来解决这个问题。软件设计师蝴蝶飞根据装饰者模式的思想设计了如图13-25所示的类图。 在图13-25中,将各种调料Milk、Mocha、Soy、Whip作为装饰者来装饰House- Blend、Decal、Espresso、DarkRoast等各种咖啡。下面的Java程序(代码13-6)对应其具体实现。 【代码13-6】 import java.io.* ; abstract class Beverage{ String description='Unknown Beverage'; public String getDescription(){ return description; } public (1) double cost(); } abstract class CondimentDecorator (2) Beverage { public abstract Strmg getDescription(); } class Decafextends Beverage { public Decaf(){ description='Decaf Coffee'; } public double cost(){ return 1.05; } } class Espresso extends Beverage { public Espresso() { description='Espresso'; } public double cost(){ return 1.99; } } class HouseBlend extends Beverage{ public HouseBlend(){ description='House Blend Coffee'; } public double cost(){ return.89; } } class DarkRoast extends Beverage{ public DarkRoast(){ description='Dark Roast Coffee'; } public double cost(){ return.99; } } class Mocha extends CondtmentDecorator{ Beverage (3); public Mocha(Beverage beverage){ this.beverage=beverage; } public String getDescription(){ return beverage.getDescription()+', Mocha'; } public double cost(){ return.20+beverage.cost(); } } Class Soy extends CondimentDecorator{ Beverage beverage; public Soy(Beverage beverage) { this.beverage=beverage; } public Strillg getDescription(){
手机使用
分享
复制链接
新浪微博
分享QQ
微信扫一扫
微信内点击右上角“…”即可分享
反馈
参考答案:
举一反三
【简答题】《辨太阳病脉证并治》,第149条 伤寒五六日, ,柴胡汤证具,而以他药下之, ,复与柴胡汤。此虽已下之,不为逆,必蒸蒸而振, 。若心下满而硬痛者,此为结胸也, ;但满而不痛者,此为痞,柴胡不中与之,宜半夏泻心汤。
【单选题】狭义的财产保险一般是指各种( )。
A.
财产损失保险
B.
责任保险
C.
信用保证保险
D.
意外伤害仔险
【单选题】通过血管腔隙的结构中,没有
A.
股神经
B.
股动脉
C.
股静脉
D.
股鞘
E.
生殖股神经股支
【判断题】心下满而硬痛者,此为痞满也。
A.
正确
B.
错误
【单选题】下列结构中通过血管腔隙的结构有
A.
股神经和股血管
B.
股血管和股鞘
C.
髂腰肌以及一些淋巴结
D.
闭孔血管和神经
E.
股外侧皮神经
【单选题】狭义的财产保险一般是指各种( )。
A.
财产损失保险
B.
责任保险
C.
信用保证保险
D.
意外伤害保险
【单选题】–What did the radio say just now? - Sorry. I didn’t catch it. I _____ something else.
A.
think
B.
will think
C.
was thinking
D.
had thought
【多选题】对时间取穴研究的医家有哪些
A.
徐凤
B.
窦默
C.
高武
D.
李梴
E.
何若愚
【单选题】通过血管腔隙的结构有:
A.
股神经
B.
股血管
C.
髂腰肌
D.
闭孔血管
【简答题】煤运北通道是 ( )。
相关题目:
参考解析:
知识点:
题目纠错 0
发布
创建自己的小题库 - 刷刷题