皮皮学,免费搜题
登录
搜题
【简答题】
阅读下列说明与相关类图,填空并回答问题。 【说明】 装饰者模式动态地给一个对象添加一些额外的职责,就扩展功能而言,该模式比生成子类方式更加灵活。装饰模式的提出有助于解决滥用继承的问题。 例如,一个名叫星巴兹(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(){
拍照语音搜题,微信中搜索"皮皮学"使用
参考答案:
参考解析:
知识点:
.
..
皮皮学刷刷变学霸
举一反三
【单选题】1928年12月,毛泽东主持制定的中国共产党历史上第一个土地法是
A.
井冈山土地法
B.
兴国土地法
C.
关于清算、减租及土地问题的指示
D.
中国土地法大纲
【多选题】1928 年 12 月-1929 年 4 月毛泽东主持制定的土地法是( )。
A.
《井冈山土地法》
B.
《中华苏维埃共和国土地法》
C.
《兴国土地法》
D.
《中国土地法大纲》
【多选题】1928年12月至1929年4月,毛泽东主持制定的土地法有( )
A.
《井冈山土地法》
B.
《兴国土地法》
C.
《中华苏维埃共和国土地法》
D.
《土地法大纲》
【单选题】1928 年 12 月,毛泽东主持制定的中国共产党历史上第一个土地法是
A.
《兴国土地法》
B.
《井冈山土地法》
C.
《中国土地法大纲》
D.
《五四指示》
【单选题】中职生首次就业目标要
A.
好单位
B.
好岗位
C.
好地区
D.
务实
【单选题】会计科目实质上是对( )的进一步分类。
A.
会计账户
B.
会计主体
C.
会计要素
D.
会计期间
【简答题】已知椭圆 的焦点坐标为 ,椭圆经过点 (1)求椭圆方程; (2)过椭圆左顶点M(-a,0)与直线 上点N的直线交椭圆于点P,求 的值。 (3)过右焦点且不与对称轴平行的直线 交椭圆于A、B两点,点 ,若 的斜率无关,求t的值
【单选题】中职生制订首次就业目标要着眼于()
A.
好单位
B.
好岗位
C.
好地区
D.
务实
【多选题】1928年12月至1929年4月,毛泽东主持制定的土地法有 ( )
A.
《中华苏维埃共和国土地法》
B.
《土地法大纲》
C.
《井冈山土地法》
D.
《兴国土地法》
【单选题】被子植物花粉管中的两个精子,是由生殖细胞经 而形成的。
A.
减数分裂
B.
有丝分裂
C.
无丝分裂
D.
直接发育
相关题目: