首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,应填入(n)处。 【说明】 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表10-7所示: 为支持将来能够模拟更
阅读下列说明和Java代码,应填入(n)处。 【说明】 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表10-7所示: 为支持将来能够模拟更
admin
2008-08-01
25
问题
阅读下列说明和Java代码,应填入(n)处。
【说明】
某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表10-7所示:
为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图10-12所示:
其中,Duck为抽象类,描述了抽象的鸭子,而类RubberDuck、MallardDuck、 CottonDuck 和 RedHeadDuck分别描述具体的鸭子种类,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;接口FlyBehavior与 QuackBehavior分别用于表示抽象的飞行行为与发声行为;类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。
【Java代码】
(1) FlyBehavior{
public void fly();
};
(2) QuackBehavior{
public void quack();
};
class FlyWithWings implements FlyBehavior{
public void fly(){System.out.println(“使用翅膀飞行!”);}
};
class FlyNoWay implements FlyBehavior{
public void fly(){System.out.println(“不能飞行!”);}
};
class Quack implements QuackBehavior{
public void quack(){System.out.println(“发出\‘嘎嘎\’声!”); }
};
class Squeak implements QuackBehavior{
public void quack(){System.out.println(“发出空气与橡皮摩擦声 !”);
}
};
class QuackNoWay implements QuackBehavior{
public void quack(){System.out.println(“不能发声!”);}
};
abstract class Duck{
protected FlyBehavior (3);
protected QuackBehavior (4);
public void fly(){ (5); }
public void quack() { (6);};
public (7) void display();
};
class RubberDuck extends Duck{
public RubberDuck(){
flyBehavior=new (8);
quackBehavior=new (9);
}
public void display(){/*此处省略显示橡皮鸭的代码*/ }
};
//其他代码省略
选项
答案
(1) interface (2) interface (3) flyBehavior (4) quackBehavior (5) flyBehavior.fly() (6) quackBehavior.quack() (7) abstract (8) FlyNoWay() (9) Squeak()
解析
FlyBehavior与QuackBehavior分别表示抽象的飞行特征,它们仅仅规定了接口,因此空(1)和(2)应该填写interface;Duck是各种鸭子种类的基类,而每一种鸭子都具有飞行特征和发声特征,这两种特征分别通过FlyBehavior和QuackBehavior来实现,因此空(3)和(4)处应该为这两个类的对象引用,Duck的飞行动作和发声动作通过abstract与其飞行特征对象和发声特征对象相关,所以,直接调用这两个类的飞行和发声动作即可。因为每一种Duck的显示特征是不相同的,因此display方法应该为抽象的方法;每一种具体的鸭子种类的飞行特征和发声特征是不同的,因此,在每一种具体鸭子类的构造函数中需要指定其具有的飞行特征和发声特征。表10-7已经指出了RubberDuck的这两种特征分别为FlyNoWay和Squeak,所以,通过构造相应类的对象来实现该特征。
转载请注明原文地址:https://jikaoti.com/ti/Uhi7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
针对下面程序段,边界值问题可以定位在(62)1:RemCregea10elementintegerarray2:RemInitializeeachelementto-13:Dimdata(10)As
GB/T16260将软件的内部(外部)质量属性划分为六大质量特性,分别是(65)。
在某大学学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是(46)。
针对程序段:IF(X>10)AND(Y<20)THEN W=W/A,对于(X,Y)的取值,以下(56)组测试用例能够满足判定覆盖的要求。
A模块通过简单数据类型(如整型)参数访问B模块,该参数在B模块内用于数据计算,则A、B模块之间存在______。
若有关系R(A,B,C,D,E)和S(B,C,F,G),则R与S自然联结运算后的属性列有(17)个,与表达式π1,3,6,7(σ3<6(RS))等价的SQL语句如下:SELECT(18)FROM(19)WHERE(20); (1
已知函数f()、g()的定义如下所示,执行表达式“x=f(5)”的运算时,若函数调用g(a)是引用调用(callbyreference)方式,则执行“x:f(5)”后x的值为(7);若函数调用g(a)是值调用(callbyvalue)方式,
在数据库逻辑设计阶段,若实体中存在多值属性,那么将E-R图转换为关系模式时,___________,得到的关系模式属于4NF。
结构化开发方法中,(35)主要包含对数据结构和算法的设计。对算法设计时,其主要依据来自(36)。描述算法时,(37)不是理想的表达方式。(36)
模块A的功能为:从数据库中读出产品信息,修改后存回数据库,然后将修改记录写到维护文件中。该模块内聚类型为(38)内聚。以下关于该类内聚的叙述中,正确的是(39)。(39)
随机试题
()是根据一类事物中部分对象具有某种属性,并且没有遇到与之相反的情况,从而推出该类所有对象都具有该属性的归纳推理。
女性,64岁。慢性咳喘18年,近3年来伴有下肢水肿,1周来咳喘加重,应用抗生素、利尿剂,疗效不佳。2日来失眠、烦躁,血气分析:pH 7.35,PaO2 55mmHg,PaCO2 74mmHg,AB 42mmol/L,血氯80mmol/L。结合病史,可能的诊
执行隔离技术,下列哪项步骤是错误的
对钢结构防火涂料的涂层厚度进行检查时,厚涂型钢结构防火涂层最薄处厚度不低于设计要求的()。
期货公司可以按照()编制并报送风险监管报表。
关于价差套利指令的说法,正确的是()。
运用以下信息求解下列问题。Fulcrum公司是电话交换设备的主要制造商,其期望息税前收益200美元可看做永续现金流,利率为12%。在上题问中,总体资本成本是多少?
日本では、漫画映画の場合、脚本家を立ててそれに優先【R1】________企画を進めるのは、意味がなくなってしまうことが多いんです。メインスタッフは、中心人物である監督が何を作りたいのかが決まるまで待っていなくてはいけない。一方、海外では日本と事情が逆で
Whatisthemangoingtobuy?
Socialchangeismorelikelytooccurinsocietieswherethereisamixtureofdifferentkindsofpeoplethaninsocietieswhere
最新回复
(
0
)