软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4
往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html
软件设计师案例分析每日一练试题(2024/2/13)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/2/13
点击查看:更多软件设计师习题与指导
软件设计师案例分析每日一练试题内容(2024/2/13)
阅读下列说明和 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) ;
}
class HawaiianPizzaBuilder extends PizzaBuilder {
public void buildParts() { pizza.setParts("cross + mild + ham&pineapp1e”};
}
class SpicyPizzaBuilder extends PizzaBuilder {
public void buildParts() { pizza.setParts("pan 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("pizza: " + waiter.getPizza());
}
}
程序的输出结果为:
Pizza:cross + mild + ham&pineapple
信管网试题答案与解析:www.cnitpm.com/st/3842420151.html
信管网考友试题答案分享:
信管网cnitpm618991265393:
(1)void buildparts()
(2)pizzabuilder.createnewpizza()
(3)
信管网angle_ning:
(1)abstract void buildparts()
(2)pizzabuilder.buildparts()
(3)pizzabuilder.setpizzabuilder()
(4)
(5)
信管网试题答案与解析:
www.cnitpm.com/st/3842420151.html