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

试题六(16 分)

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

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

试题六(16 分)

阅读下列说明和 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 + ham&pineapp1e”};  
  14. }  
  15. class SpicyPizzaBuilder extends PizzaBuilder {  
  16. public void buildParts() { pizza.setParts("pan baked + hot +  
  17. pepperoni&salami"); }  
  18. }  
  19. class Waiter {  
  20. private PizzaBuilder pizzaBuilder;  
  21. public void setPizzaBuilder(PizzaBuilder pizzaBuilder) { /*设置构建器*/  
  22. ( 2 ) ;  
  23. }  
  24. public Pizza getPizza(){ return pizzaBuilder.getPizza(); }  
  25. public void construct() { /*构建*/  
  26. pizzaBuilder.createNewPizza();  
  27. ( 3 ) ;  
  28. }  
  29. }  
  30. Class FastFoodOrdering {  
  31. public static viod mainSting[]args) {  
  32. Waiter waiter = new Waiter();  
  33. PizzaBuilder hawaiian_pizzabuilder = new HawaiianPizzaBuilder();  
  34. ( 4 ) ;  
  35. ( 5 ) ;  
  36. System.out.println("pizza: " + waiter.getPizza());  
  37. }  

程序的输出结果为:

Pizza:cross + mild + ham&pineapple

【参考答案】

(1)abstract 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
分享:
大家都在看
猜你喜欢

读 书 +更多

Solaris 内核结构(第2版)

本书描述了Solaris 10和OpenSolaris内核中所有主要子系统的算法和数据结构,对第1版进行了大幅修订,加入了很多新的内容。全书从头到尾都采...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊