軟件設計師案例分析當天每日一練試題地址:www.yifanwine.com/exam/ExamDayAL.aspx?t1=4
往期軟件設計師每日一練試題匯總:www.yifanwine.com/class/27/e4_1.html
軟件設計師案例分析每日一練試題(2025/2/22)在線測試:www.yifanwine.com/exam/ExamDayAL.aspx?t1=4&day=2025/2/22
點擊查看:更多軟件設計師習題與指導
軟件設計師案例分析每日一練試題內容(2025/2/22)
閱讀下列說明和Java代碼,將應填入(n)處的字句寫在答題紙的對應欄內。
【說明】
某咖啡店當賣咖啡時,可以根據(jù)顧客的要求在其中加入各種配料,咖啡店會根據(jù)所加入的配料來計算費用??Х鹊晁目Х燃芭淞系姆N類和價格如下表所示。
										咖啡 			 | 							價格/杯 			 | 							配  料 			 | 							價格/份 			 | 		
									蒸餾咖啡(Espresso) 			 | 							25 			 | 							摩卡(Mocha)  			 | 							10			 | 		
									深度烘焙咖啡(DarkRoast) 			 | 							20			 | 							奶泡(Whip) 			 | 							8			 | 		
	
現(xiàn)采用裝飾器(Decorator)模式來實現(xiàn)計算費用的功能,得到如圖6-1所示的類圖

【Java代碼】
import java.util.*;
(1) class Beverage {    //飲料
String description = "Unknown Beverage";
public   (2)  (){return description;}
public   (3)  ;
}
abstract class CondimentDecorator extends Beverage {  //配料
(4)  ;
}
class Espresso extends Beverage {    //蒸餾咖啡
private final int ESPRESSO_PRICE = 25;
public Espresso() {   description="Espresso";  }
public int cost() {   return ESPRESSO_PRICE;   }
}
class DarkRoast extends Beverage {  //深度烘焙咖啡
private finalint DARKROAST_PRICE = 20;
public DarkRoast0 { description = "DarkRoast";   }
public int cost(){ rcturn DARKROAST PRICE;   }
}
class Mocha extends CondimentDecorator {  //摩卡
private final int MOCHA_PRICE = 10;
public Mocha(Beverage beverage) {
this.beverage = beverage;
}
public String getDescription() {
return beverage.getDescription0 + ", Mocha";
}
public int cost() {
return MOCHA_PRICE + beverage.cost();
}
}
class Whip extends CondimentDecorator {   //奶泡
private finalint WHIP_PRICE = 8;
public Whip(Beverage beverage) { this.beverage = beverage; }
public String getDescription() {
return beverage.getDescription()+", Whip";
}
public int cost() { return WHIP_PRICE + beverage.cost(); }
}
public class Coffee {
public static void main(String args[]) {
Beverage beverage = new DarkRoast();
beverage=new Mocha(  (5)  );
beverage=new Whip (  (6)  ) ;
System.out.println(beverage.getDescription0 +"¥" +beverage.cost());
}
}
編譯運行上述程序,其輸出結果為:
DarkRoast, Mocha, Whip ¥38
信管網試題答案與解析:www.yifanwine.com/exam/ExamDayAL.aspx?t1=4&day=2025/2/22
信管網考友試題答案分享:
信管網試題答案與解析:
www.yifanwine.com/exam/ExamDayAL.aspx?t1=4&day=2025/2/22