上半年软件设计师下午试题及答案 - 图文 下载本文

【Java代码】

import java.util.*;

(1) class Beverage { //饮料

String description = \

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=\

public int cost() { return ESPRESSO_PRICE; }

}

class DarkRoast extends Beverage { //深度烘焙咖啡

private finalint DARKROAST_PRICE = 20;

public DarkRoast() { description = \

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 + \

}

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()+\

}

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 );

}

}

编译运行上述程序,其输出结果为:

DarkRoast, Mocha, Whip ¥38