2007年上半年软件设计师下午试卷[7]

软考 责任编辑:lwxshlcx 2007-08-03

添加老师微信

备考咨询

加我微信

摘要:classDuck{protected:FlyBehavior*(4);QuackBehavior*(5);public:voidfly(){(6);}voidquack(){(7);};virtualvoiddisplay()=0;};classRubberDuck:publicDuck{public:RubberDuck(){flyBehavior=new(8);quackBehavior=new(9);}RubberDuck(){if(!flyBehavior)delete

class Duck{

protected:

FlyBehavior * (4) ;

QuackBehavior * (5) ;

public:

void fly(){(6) ; }

void quack() {(7) ; };

virtual void display()=0;

};

class RubberDuck:public Duck{

public:

RubberDuck(){

flyBehavior = new(8) ;

quackBehavior = new(9) ;

}

RubberDuck(){

if(!flyBehavior) delete flyBehavior;

if(!quackBehavior) deletequackBehavior;

}

void display(){ /*此处省略显示橡皮鸭的代码 */}

};

//其它代码省略

试题七(共15 分)

阅读下列说明和Java 代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

[说明]

某游戏公司现欲开发一款面向儿童的模游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子类及其特征如表 7-1 所示:

 表7-1

为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如

图 7-1 所示:

其中,Duck 为抽象类,描述了抽象的鸭子,而类 RubberDuck、MallardDuck、CottonDuck和 RedHeadDuck 分别描述具体的鸭子种类,方法 fly()、quack()和 display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;接口FlyBehavior 与 QuackBehavior 分别用于表示抽象的飞行行为与发声行为;类 FlyNoWay 与 FlyWithWings 分别描述不能飞行的行为和用翅膀飞行的行为;类 Quack、Squeak 与QuackNoWay 分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行与不发声的行为。请填补以下代码中的空缺。

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!