【问答题】

阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内。

【说明】

以下Java代码实现一个超市简单销售系统中的部分功能,顾客选择图书等物件 (Item)加入购物车(ShoppingCart),到收银台(Cashier)对每个购物车中的物品统计其价格进行结账。设计如图5-1所示类图。

中级软件设计师,押题密卷,2021年《软件设计师》下午押题密卷2

【Java代码】

interface Item{ pubpc void accept(Visitor visitor); pubpc double getPrice();}class Book (1){ private double price; pubpc Book(double price){(2);} pubpc void accept(Visitor visitor){ //访问本元素 (3); } pubpc double getPrice() { return price; }}//其它物品类略 interface Visitor { pubpc void visit(Book book); //其它物品的visit方法 } class Cashier(4){ private double totalForCart; //访问Book类型对象的价格并累加 (5){ //假设Book类型的物品价格超过10元打8折 if(book.getPrice()<10.0){ totalForCart+=book.getPrice(); } else totalForCart+=book.getPrice()*0.8; } //其它visit方法和折扣策略类似,此处略 pubpc double getTotal() { return totalForCart; }} class ShoppingCart { //normal shopping cart stuff private java.util.ArrayListitems=newjava.util.ArrayList<>(); pubpc double calcpatePrice() { Cashier visitor=newCashier(); for(Item item:items) { (6); } doubletotal=visitor.getTotal(); return total; } pubpc void add(Item e) { this.items.add(e); }}

相关 试题

微信扫一扫,使用拍照搜题小程序

微信扫一扫,免费拍照搜题

热门试题
微信扫一扫,使用拍照搜题小程序

微信扫一扫,免费拍照搜题