|
|
51CTO旗下网站
|
|
移动端

试题五(16 分)

《软件设计师历年真题解析》本书针对软件设计师2014—2017年共8次真题进行了试题的分析和解答,帮助考生熟悉试题形式,了解重点、掌握解答问题的方法和技巧等。本节为试题五。

作者:薛大龙来源:电子工业出版社|2018-08-21 12:55

试题五(16 分)

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

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

【说明】

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

【Java 代码】

  1. class Pizza {  
  2. private String parts;  
  3. public void setParts(String parts) { this.parts = parts; }  
  4. public String toString() { return this.parts; }  
  5. }  
  6. abstract class PizzaBuilder {  
  7. protected Pizza pizza;  
  8. public Pizza getPizza() { return pizza; }  
  9. public void createNewPizza() { pizza = new Pizza(); }  
  10. public (1) ;  
  11. }  
  12. class HawaiianPizzaBuilder extends PizzaBuilder {  
  13. public void buildParts() { pizza.setParts("cross + mild +  
  14. ham&pineapp1e”};  
  15. }  
  16. class SpicyPizzaBuilder extends PizzaBuilder {  
  17. public void buildParts() { pizza.setParts("pan baked + hot +  
  18. pepperoni&salami"); }  
  19. }  
  20. class Waiter {  
  21. private PizzaBuilder pizzaBuilder;  
  22. public void setPizzaBuilder(PizzaBuilder pizzaBuilder) { /*设置构建  
  23. 器*/  
  24. ( 2 ) ;  
  25. }  
  26. public Pizza getPizza(){ return pizzaBuilder.getPizza(); }  
  27. public void construct() { /*构建*/  
  28. pizzaBuilder.createNewPizza();  
  29. ( 3 ) ;  
  30. }  
  31. }  
  32. Class FastFoodOrdering {  
  33. public static viod mainSting[]args) {  
  34. Waiter waiter = new Waiter();  
  35. PizzaBuilder hawaiian_pizzabuilder = new HawaiianPizzaBuilder();  
  36. ( 4 ) ;  
  37. ( 5 ) ;  
  38. System.out.println("pizza: " + waiter.getPizza());  
  39. }  

程序的输出结果为:

Pizza:cross + mild + ham&pineapple

【参考答案】

(1)virtual void buildParts()

(2)this->pizzaBuilder=pizzaBuilder

(3)pizzaBuilder->buildParts()

(4)waiter->setPizzaBuilder(hawaiian_pizzabuilder)

(5)waiter->construct()


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

J2EE应用开发(WebLogic+JBuilder)(第二版)

本书介绍如何将最流行的J2EE应用服务器WebLogic Server和最好的Java集成开发工具JBuilder结合起来开发J2EE应用,主要内容包括:WebLogic Se...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊