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

2017上半年软件设计师考试真题及答案-下午卷

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

public:

void setParts(string parts) { this->parts=parts; } string getParts() { return parts; } };

class PizzaBuilder { protected:Pizza* pizza; public:

Pizza* getPizza() { retum pizza; }

void createNewPizza() { pizza = new Pizza(); } ( 1 ); }

class HawaiianPizzaBuilder :public PizzaBuilder { public:

void buildParts() { pizza->setParts(\};

class SpicyPizzaBuider: public PizzaBuilder { public:

void buildParts() { pizza->setParts(\ }

Class Waiter{ Private:

PizzaBuilder* pizzaBuilder; public:

void setPizzaBuilder(PizzaBuilder* pizzaBuilder) { /*设置构建器*/ ( 2 ) }

Pizza* getPizza() { return pizzaBuilder->getPizza(); }

16

void construct() { /*构建*/ pizzaBuilder->createNewPizza(); ( 3 ) } };

int main(){

Waiter*waiter=new Waiter();

PizzaBuilder*hawaiian pizzabuilder=new HawaiianPizzaBuilder() ( 4 ); ( 5 );

cout<< \}

程序的输出结果为:

pizza: cross + mild + ham&pineapple

问题:5.1 请填写(1)(2)(3)(4)(5)

答案解析:

(1)virtual void buildParts() (2)this->pizzaBuilder=pizzaBuilder (3)pizzaBuilder->buildParts()

(4)waiter->setPizzaBuilder(hawaiian_pizzabuilder) (5)waiter->construct()

17

第 6 题

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

某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。前台服务员 (Waiter) 调度厨师制作套餐。现采用生成器 (Builder) 模式实现制作过程,得到如图 6-1 所示的类图。

【Java代码】 class Pizza {

private String parts;

public void setParts(String parts) { this.parts = parts; } public String toString() { return this.parts; } }

abstract class PizzaBuilder { protected Pizza pizza;

public Pizza getPizza() { return pizza; }

public void createNewPizza() { pizza = new Pizza(); } public (1) ; }

18

class HawaiianPizzaBuilder extends PizzaBuilder {

public void buildParts() { pizza.setParts(\ }

class SpicyPizzaBuilder extends PizzaBuilder {

public void buildParts() { pizza.setParts(\baked + hot + pepperoni&salami\} }

class Waiter {

private PizzaBuilder pizzaBuilder;

public void setPizzaBuilder(PizzaBuilder pizzaBuilder) { /*设置构建器*/ ( 2 ) ; }

public Pizza getPizza(){ return pizzaBuilder.getPizza(); }

public void construct() { /*构建*/ pizzaBuilder.createNewPizza(); ( 3 ) ; } }

Class FastFoodOrdering {

public static viod mainSting[]args) { Waiter waiter = new Waiter();

PizzaBuilder hawaiian_pizzabuilder = new HawaiianPizzaBuilder(); ( 4 ) ; ( 5 ) ;

System.out.println(\

19

} }

程序的输出结果为:

Pizza:cross + mild + ham&pineapple

问题:6.1 请填写(1)(2)(3)(4)(5)

答案解析:

(1)abstract void buildParts(); (2)this.pizzaBuilder=pizzaBuilder (3)pizzaBuilder.buildParts()

(4)waiter.setPizzaBuilder(hawaiian_pizzabuilder) (5)waiter.construct()

20

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