軟件設計師案例分析當天每日一練試題地址:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4
往期軟件設計師每日一練試題匯總:m.xiexiliangjiufa.com/class/27/e4_1.html
軟件設計師案例分析每日一練試題(2022/11/14)在線測試:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4&day=2022/11/14
點擊查看:更多軟件設計師習題與指導
軟件設計師案例分析每日一練試題內容(2022/11/14)
閱讀下列說明和 Java代碼,將應填入 (n) 處的字句寫在答題紙的對應欄內。
【說明】
某快餐廳主要制作并出售兒童套餐,一般包括主餐(各類比薩)、飲料和玩具,其餐品種類可能不同,但其制作過程相同。前臺服務員 (Waiter) 調度廚師制作套餐?,F(xiàn)采用生成器 (Builder) 模式實現(xiàn)制作過程,得到如圖 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
信管網(wǎng)試題答案與解析:m.xiexiliangjiufa.com/st/3842420151.html
信管網(wǎng)考友試題答案分享:
信管網(wǎng)angle_ning:
(1)abstract void buildparts()
(2)pizzabuilder.buildparts()
(3)pizzabuilder.setpizzabuilder()
(4)
(5)
信管網(wǎng)試題答案與解析:
m.xiexiliangjiufa.com/st/3842420151.html