首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和Java代码,应填入(n)处。 【说明】 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表10-7所示: 为支持将来能够模拟更
阅读下列说明和Java代码,应填入(n)处。 【说明】 某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表10-7所示: 为支持将来能够模拟更
admin
2008-08-01
53
问题
阅读下列说明和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://kaotiyun.com/show/afDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
对于业务流清晰的系统可以利用(57)贯穿整个测试用例设计过程,在用例中综合使用各种测试方法,对于参数配置类的软件,要用(58)选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用(59)和判定表驱动法。
请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(30)设计模式能够有效达到该目的:该系统中的某子模块需要为其他模块捉供访问不同数据库系统(如 Oracle、SQL Server和DB2 UDB等)的功能,这些数
通过疲劳强度测试,最容易发现(55)问题。
以下各项中,(51)属于需求说明书的评测内容。①系统定义的目标是否与用户的要求一致②设计的约束条件或限制条件是否符合实际③是否考虑过软件需求的其他方案④软件的行为与它必须处理的信息、必须完成的功能是否一致
软件开发人员可以用(18)软件编写和修改程序。
在CPU与主存之间设置高速缓冲存储器(Cache)的目的是为了(2)。
对需求说明书评测的内容包括______。①系统定义的目标是否与用户的要求一致②被开发项目的数据流与数据结构是否足够、确定③与所有其他系统交互的重要接口是否都已经描述④主要功能是否已包含在规定的软件范围之内,是否都已充分说明
在结构化分析中,用数据流图描述(42)。当采用数据流图对银行客户关系管理进行分析时,(43)是一个加工。(42)
某个应用中,需要对输入数据进行排序,输入数据序列基本有序(如输入为1,2,5,3,4,6,8,7)。在这种情况下,采用(40)排序算法最好,时间复杂度为(41)。(40)
零件关系P(零件名,条形码,供应商,产地,价格)中的(12)属性可以作为该关系的主键。查询产于西安且名称为“P2”的零件,结果以零件名、供应商及零件价格分列表示,对应的SQL语句为:SELECT零件名,供应商,价格FROMPWHE
随机试题
A.间使B.劳宫C.大陵D.内关手厥阴心包经的荥穴是
某女,四月前人流术后,近三月经量明显增多,色鲜红,质粘稠,伴心烦口渴,乏力气短,心悸少寐,便干舌红,脉细滑数,治以
A.法律B.行政法规C.部门规章D.司法解释E.现行宪法最高人民法院和最高人民检察院颁布
TPO原则是人们着装的总原则,其中P是指()。
思维是客观事物在人脑中概括的和间接的反映。思维的基本形式包括()
近年来,我国城乡儿童学前教育事业发展取得了长足的进步,但是农村学前儿童“入园难”的问题仍然没有得到彻底的解决,解决儿童“入园难”的问题,不能够依靠大量使用校车来接送儿童,“合理布局,就近入园”才是确保儿童安全、解决入园难的根本。如果以上各项为真,最能支持上
如下图1所示,在一个金字塔造型(底面为正方形,侧面为四个全等的等腰三角形)的铸造件内部挖空一个圆柱。现沿铸造件顶点A且垂直底面的方向切开,切开后的截面如下图2所示,已知DE、GF为圆柱的高,BC=分米,DE=2分米,AO=4分米,那么挖后铸造件的体积是:
A.It’sreallyfamilyfirstB.therealworkwillstartwhentheywalkoffthestageC.thenitwasjustapenaltyD.becauseI’
ThehistoryofresponsestotheworkoftheartistSandroBotticelli(1444-1510)suggeststhatwidespreadappreciationbycrit
Writingisasecondarylanguageformbasedupon______.
最新回复
(
0
)