第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/8/12 17:18:09 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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

软件设计师考试 - 历年真题及答案(2007年-2013)年.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6qudp5sgle05ej21u7ty_6.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top