好文档 - 专业文书写作范文服务资料分享网站

软件设计师考试 - 历年真题及答案(2007年-2013)年

天下 分享 时间: 加入收藏 我要投稿 点赞

Quack、Squeak 与 QuackNoWay 分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发

声的行为。请填补以下代码中的空缺。

[C++代码]

#include

using namespace 1;

class FlyBehavior {

public : 2 fly() = 0;

};

class QuackBehavior {

public:3 quack() = 0; };

class FlyWithWings:public FlyBehavior{

public: void fly(){ cout << \使用翅膀飞行 \ };

class FlyNoWay:public FlyBehavior{

18 软件设计师考试历年真题

第36页 共 19 页 软件设计师考试历年真题 第35页 共 19 页 软件设计师历年试题 软件设计师历年试题

public: void fly(){ cout << \不能飞行 \ };

class Quack:public QuackBehavior{

public: void quack(){ cout << \发出\\'嘎嘎\\'声 \

};

class Squeak:public QuackBehavior{

public: void quack(){ cout << \发出空气与橡皮摩擦声 \ };

class QuackNoWay:public QuackBehavior{

public: void quack (){ cout << \不能发声 };

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) delete quackBehavior; }

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

//其它代码省略

试题七共 15 分

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

[说明]

某游戏公司现欲开发一款面向儿童的模拟游戏该游戏主要模拟现实世界中各种鸭子的发声特征、飞

行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表 7-1 所示

19 软件设计师考试历年真题

第38页 共 20 页 软件设计师考试历年真题 第37页 共 20 页 软件设计师历年试题 软件设计师历年试题

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

其中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(\发出\\'嘎嘎\\'声 \

20 软件设计师考试历年真题

第40页 共 21 页 软件设计师考试历年真题 第39页 共 21 页 软件设计师历年试题 软件设计师历年试题 };

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(){ /* 此处省略显示橡皮鸭的代码 */ }

6qudp5sgle05ej21u7ty
领取福利

微信扫码领取福利

微信扫码分享