首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表17—3所示。 为支持将来模拟更多种类的飞机,采用策
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表17—3所示。 为支持将来模拟更多种类的飞机,采用策
admin
2014-11-13
31
问题
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某软件公司现欲开发一款飞机飞行模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征。需要模拟的飞机种类及其特征如表17—3所示。
为支持将来模拟更多种类的飞机,采用策略设计模式(Strategy)设计的类图如图17—11所示。
图17—11中,AirCraft为抽象类,描述了抽象的飞机,而类Helicopter、AirPlane、Fighter和Harrier分别描述具体的飞机种类,方法fly()和takeOff()分别表示不同飞机都具有飞行特征和起飞特征类FlyBehavior与TakeOffBehavior为抽象类,分别用于表示抽象的飞行为与起飞行为;类SubSonicFly与SuperSonicFly分别描述亚音速飞行和超音速飞行的行为;类VerticalTakeOff与L0ngDistanceTakeoff分别描述垂直起飞与长距离起飞的行为。
[Java代码]
interfaceFlyBehavior(
publiCVOidfly();
};
classSubSonicFlyimplementsFlyBehaVior(
publicvoidfly()(System.out.printin(“亚音速飞行!”);)
};
ClassSuperSonicFlyimplementsFlyBehaVior(
publicvoidfly()(System.out.println(”超音速飞行!”);)
};
interfaceTakeOffBehavior{
publicvoidtakeOff();
};
ClassVerticalTakeOffimplementsTakeOffBehavior(
publicvoidtakeOff()(System.out.println(“垂直起飞!”);)
};
ClassLongDistanceTakeOffimplementsTakeOffBehavior{
publicvoidtakeOff()
};
abstractclassAirCraft{
protected(1);
protected(2);
publicvoidfly()(3);}
publicvoidtakeOff()(4);};
};
classHelicopter(5)AirCraft{
publiCHelicopter(){
flyBehavior=new(6);
takeOffBehavior=new(7);
}
};
//其他代码省
选项
答案
(1)FlyBehaviorflyBehavior (2)TakeOffBehaviortakeOffBehavior (3)flyBehavior.fly() (4)takeOffBehavior.takeOff() (5)extends (6)SubSonicFly() (7)VerticalTakeOflff()
解析
本题目考查设计模式中的策略设计模式。从本题的叙述中可以看出,存在四种不同的飞机类型,但每种飞机类型的起飞特征和飞行特征并不完全相同,这就使得我们很难采用比较直接的方法来实现重用。例如,定义一个抽象的飞机类,实现飞机的起飞特性,然后四种飞机直接重用该特征。但是,我们可以观察到,尽管飞机的起飞特征和飞机特征有所不同,有一点可以肯定的是,每一种飞机都具备了飞行特征和起飞特征。因此,可以抽象出一个飞机类,其中含有飞行特征与起飞特征,但关于两个特征的实现要单独抽取出来,所以又形成FlyBehavior类SHTakeOffBehavior类,分别表示抽象的飞行和起飞特征,而这两个类的子类则分别实现不同的起飞和飞行特征,最终转化为,在创建一个具体的飞机时,给其赋予不同的起飞特征和飞行特征即可。本题中的空(1)和空(2)应该填写成员变量,根据类图可以得知,此处应该表示的是飞行和起飞特征变量。空(3)和空(4)处需要实现飞行与起飞特征,但AirCraft是抽象的类,所以把实现代理给指针变量。Helicopter类需要制定由父类继承而来的成员变量的初始值,因为Helicopter的特征是垂直起飞和亚音速飞行,因此生成这两个特征的对象,分别赋值给flyBehavior~fHtakeOffBehavior变量。
转载请注明原文地址:https://jikaoti.com/ti/g0i7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持根据说明中inittab文件的内容,系统引导成功后,工作在______状态。A.单用户字符模式
启动init进程前,不需要经过______步骤。A.LIIO加载内核B.检测内存C.加载文件系统D.启动网络支持Linux系统运行级别3工作在______状态。A.单用户字符模式B.多用户字符模式
阅读以下说明,回答问题1至问题8。[说明]Linux系统开机引导时首先启动内核,由内核检查和初始化硬件设备,载入设备的驱动程序模块,安装root文件系统,然后内核将启动一个名为init的进程。在init运行完成并启动其他必要的后续进程后,
在“管理工具”中运行“管理IP筛选器列表”,创建一个名为“SNMP消息”的筛选器。在如图12-3所示的“IP筛选器向导”中指定IP通信的源地址,下拉列表框中应选择(1);在如图12-4中指定IP通信的目标地址,下拉列表框中应选择(2)。在图
在“管理工具”中运行“管理IP筛选器列表”,创建一个名为“SNMP消息”的筛选器。在如图12-3所示的“IP筛选器向导”中指定IP通信的源地址,下拉列表框中应选择(1);在如图12-4中指定IP通信的目标地址,下拉列表框中应选择(2)。在图
请阅读下列SwitchA的配置信息,并在(1)~(5)处解释该语句的作用。Switch>enable(进入特权模式)Switch#configterminal(进入配置模式)Switch(config)#hostnameSwi
在控制面板的“添加/删除程序”对话框中选择(1),然后进入“应用程序服务器”选项,在(2)组件复选框中选择“文件传输协议(FTP)服务”,就可以在Windows2003中安装FTP服务。(1)A.更改或删除程序B.添加新程序C.添加/删除
请在(1)、(2)、(3)、(4)空白处填写恰当的内容。Web客户机与服务器共同遵守(1)协议,其工作过程是;Web客户端程序根据输入的(2)连接到相应的Web服务器上,并获得指定的Web文档。动态网页以(3)程序的形式在服务器端处理,并给客户端返
1.路由器第一次设置时,必须通过Console口连接运行终端仿真软件的计算机进行配置,此时终端仿真程序设置的波特率应为(1)b/s。2.路由器有多种配置模式,请根据以下命令提示状态,判断路由器处于何种配置模式下。Router(Config)
根据你的网络工程经验,请用250字以内的文字简要描述该21层教学综合大楼网络层次结构设计的要点。(不要求画图)该21层教学综合大楼的部分网络拓扑结构如图1-22所示,其中L3_switch1、L3_switch2为该教学综合大楼的两台核心交换机;Swi
随机试题
领导工作本身所具有的质的规定性是______。
酚妥拉明的临床应用有:
肝脏疾病对药物代谢的影响表现在
A.爱德华综合征B.脊柱裂C.先天性肛门闭锁D.自闭症E.β-地中海贫血以上疾病,可通过染色体核型分析进行诊断的是
有杀虫止痒,燥湿祛风作用,为皮肤及妇科病常用药的药物是
设计合同采用定金担保,合同总价的( )为定金。
以下属于个体工商户计算应纳所得税额时可以扣除的项目有( )。
一般而言,德育目标的确立主要依据()
不属于英国工业城市的是()。
Insomecountries,______arecalled"publicschools"arenotownedbythepublic.
最新回复
(
0
)