首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)________处的字句写在答题纸的对应栏内。 【说明】 某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上留下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(St
阅读下列说明和Java代码,将应填入(n)________处的字句写在答题纸的对应栏内。 【说明】 某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上留下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(St
admin
2021-03-13
51
问题
阅读下列说明和Java代码,将应填入(n)________处的字句写在答题纸的对应栏内。
【说明】
某软件公司欲开发一款汽车竞速类游戏,需要模拟长轮胎和短轮胎急刹车时在路面上留下的不同痕迹,并考虑后续能模拟更多种轮胎急刹车时的痕迹。现采用策略(Strategy)设计模式来实现该需求,所设计的类图如图5-1所示。
【Java代码】
import Java.util.*;
interface BrakeBehavior{
public (1)________;
/*其余代码省略*/
};
class LongWheelBrake implements BrakeBehavior {
public void stop(){System.out.println("模拟长轮胎刹车痕迹!");}
/*其余代码省略*/
};
Class ShortWheeiBrake implements BrakeBehavior {
public void stop(){System.out.println("模拟短轮胎刹车痕迹!");}
/*其余代码省略*/
};
abstract class Car{
protected (2)________ wheel;
public void brake(){ (3)________;)
/*其余代码省略*/
};
Class ShortWheelCar extends Car {
public ShortWheelCar(BrakeBehavior behavior){
(4)________
}
/*其余代码省略*/
};
Class StrategyTest{
public static void main(String[]args){
BrakeBehavior brake=new ShortWheeiBrake();
ShortWheelCar carl=new ShortWheelCar(brake);
carl.(5)________;
}
}
选项
答案
(1)void stop() (2)BrakeBehavior (3)wheel.stop() (4)wheel=behavior (5)brake()
解析
本题考查设计模式中策略(Strategy)模式的基本概念和应用。
策略模式的意图是,定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。此模式使得算法可以独立于使用它们的客户而变化。策略模式的结构图如图5-2所示。
其中:
Strategy(策略)定义所有支持的算法的公共接口。Context使用这个接口来调用某ConcreteStrategy定义的算法。
ConcreteStrategy(具体策略)以Strategy接口实现某具体算法。
Context(上下文)用一个ConcreteStrategy对象来配置;维护一个对Strategy对象的引用;可定义一个接口来让Strategy访问它的数据。
策略模式适用于:
许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。
需要使用一个算法的不同变体。例如,定义一些反映不同空间的空间/时间权衡的算法。当这些变体实现为一个算法的类层次时,可以使用策略模式。
算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构。
一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现,将相关的条件分支移入它们各自的Strategy类中,以代替这些条件语句。
本题中的类BrakeBehavior对应于图5-2中的Strategy,类LongWheelBrake和ShortWheelBrake则是具体的策略子类,每个子类以Strategy提供的接口实现某具体算法。
第(1)空需要填写的就是接口BrakeBehavior中所定义的方法,这一空的答案可以从BrakeBehavior的子类中得出。因此第(1)空应填入void stop()。
第(2)~(3)空在类Car。中。类car对应于图5-2中的类Context,其作用是:用一个ConcreteStrategy对象来配置,维护一个对Strategy对象的引用,定义一个接口来让Strategy访问它的数据。第(2)空用于定义和维护对Strategy对象的引用,这里需要给出其类型,因此第(2)空应填入BrakeBehavior。第(3)空要求给出方法brake的实现,这里需要调用策略类所提供的的策略,因此第(3)空应填入wheel.stop()。
第(4)空是在为Cat的子类设置ConcreteStrategy对象,因此第(4)空应填入wheel=behavior。
第(5)空考查的是对策略模式的使用,这里需要调用Car中所定义的接口brake,因此第(5)空应填入brake()。
转载请注明原文地址:https://kaotiyun.com/show/OsxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
通常,在该图书馆架构无线局域网(WLAN)的设计流程需要经过以下6个阶段:A.设备软硬件安装、调试B.确定无线局域网物理结构C.确定无线局域网逻辑结构D.进行需求分析和现场调研E.验收测试和维护F.进行设备产
通常,在该图书馆架构无线局域网(WLAN)的设计流程需要经过以下6个阶段:A.设备软硬件安装、调试B.确定无线局域网物理结构C.确定无线局域网逻辑结构D.进行需求分析和现场调研E.验收测试和维护F.进行设备产
阅读以下说明,回答问题1、问题2、问题3、问题4和问题5,将解答填入对应栏内。[说明]CableModem可以作为一个网桥直接与用户相连,也可以作为一个路由器与Hub相连,从经济角度考虑,目前采用后一种方式居多。有一种HFC网络如图6-2
设计该宽带路由器的多任务嵌入式实时操作系统时,由于多个任务均可能要求占用CPU这个关键资源,因此CPU的任务管理是一个非常重要的设计内容。在该实时操作系统中,任务作为占用资源的基本单位,总共有5个状态:休眠状态、就绪状态、运行状态、等待或挂起状态和中断服务
阅读以下关于网络应用系统模块测试的技术说明,根据要求回答问题1至问题4。【说明】某公司的枝术开发小组经过一年的努力,编码完成了本公司嵌入式产品——宽带路由器的NanOs程序,该程序规模约为31200行。公司经理指定郭工程师(以下简称为郭工)安排其
设计布线时,需要考虑哪些主要因素?在设备间子系统设计时,从系统的安全设计上要考虑的主要因素有哪些?
设计布线时,需要考虑哪些主要因素?结构化布线应遵循的国际标准有哪些?
在OSI参考模型有哪几层?Windows组网中采用什么工具来实现域的创建和管理?在什么情况下需要设置“主域”?
随机试题
Inatelephonesurveyofmorethan2,000adults,21%saidtheybelievedthesunrevolved(旋转)aroundtheearth.An【C1】______7%di
能够被植物叶绿素吸收利用的太阳辐射称( )。
患者男,76岁。既往高血压20余年,糖尿病8年,近1年血压、血糖控制良好,无心绞痛发作。1周前因胃癌行手术治疗,术后应用静脉营养补液,2天前开始出现气短,夜内憋醒,今日输液中突然出现呼吸困难,端坐呼吸。查体:BP180/110mmHg,HR132次/分
依照《土地管理法》的有关规定,有关人民政府土地行政主管部门报经原批准用地的人民政府或者有批准权的人民政府批准,可以收回国有土地使用权的情形有()。
某商贸中心位于市中心繁华地带,周围是以商业、服务业为主体,以文化、教育、卫生和旅游事业为支柱的区域。已建成的一期工程用地面积约10万m2。工程内容包括饭店、写字楼、公寓、会议厅、商场、行政楼和停车库等,总建筑面积50万m2。现拟建二期工程,位于已建成的一期
不确定性与风险的区别在于()。
山东日照万顺化工产品有限公司使用现汇与新加坡星海贸易有限公司签约进口一批口XX型号的聚乙烯(法定检验、自动进口许可管理)200吨用于加工成印花雨衣,每吨为CIF青岛990美元。该合同履行过程中,因境外发货有误,部分料件没有及时到货,为确保履行成品出口合同,
期货公司应当向中国证监会提交关于变更负责人申请书和拟任负责人任职资格证明。( )
档案记录法可用于采集()。
Medicalconsumerism--likeallsortsofconsumerism,onlymoremenacingly--isdesignedtobeunsatisfying.Theprolongationo
最新回复
(
0
)