閱讀下列說明和Java代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】某快餐廳主要制作并出售兒童套餐,一般包括主餐(各類比薩)、飲料和玩具,其餐品種類可能不同,但其制作過程相同。前臺(tái)服務(wù)員(Waiter)調(diào)度廚師制作套餐?,F(xiàn)采用生成器(Builder)模式實(shí)現(xiàn)制作過程,得到如圖6-1所示的類圖。
【Java代碼】
classPizza{
privateStringparts;
publicvoidsetParts(Stringparts){this。parts=parts;}
publicStringtoString(){returnthis。parts;}
}
abstractclassPizzaBuilder{
protectedPizzapizza;
publicPizzagetPizza(){returnpizza;}
publicvoidcreateNewPizza(){pizza=newPizza();}
public(1);
}
classHawaiianPizzaBuilderextendsPizzaBuilder{
publicvoidbuildParts(){
pizza。setParts("cross+mild+ham&pineapp1e”);
}
}
classSpicyPizzaBuilderextendsPizzaBuilder{
publicvoidbuildParts(){
pizza。setParts("panbaked+hot+pepperoni&salami");
}
}
classWaiter{
privatePizzaBuilderpizzaBuilder;
publicvoidsetPizzaBuilder(PizzaBuilderpizzaBuilder){
/*設(shè)置構(gòu)建器*/
(2);
}
publicPizzagetPizza(){returnpizzaBuilder。getPizza();}
publicvoidconstruct(){/*構(gòu)建*/
pizzaBuilder。createNewPizza();
(3);
}
}
ClassFastFoodOrdering{
publicstaticviodmainSting[]args){
Waiterwaiter=newWaiter();
PizzaBuilderhawaiian_pizzabuilder=newHawaiianPizzaBuilder();
(4);
(5);
System。out。println("pizza:"+waiter。getPizza());
}
}
程序的輸出結(jié)果為:
Pizza:cross+mild+ham&pineapple