阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 以下Java代码实现一个超市简单销售系统中的部分功能,顾客选择图书等物件(Item)加入购物车(ShoppingCart),到收银台(Cashier)对每个购物车中的物品统计其价格进行结账。设计如下所示类图。
(1)implements Item (2)this.price=price (3)visitor.visit(this) (4)implements Visitor (5)public void visit(Book book) (6)item.accept(visitor) 解析:(1)根据类图实现接口,Book类继承Item类; (2)构造方法传值,用参数price给自身成员变量(this.price)赋值; (3)本题考察访问者模式,使用visitor访问本元素; (4)根据类图实现接口,Cashier类继承Visitor类; (5)从类图当中可以看出,此处需要实现一个方法visit; (6)根据题意,此处需要计算价格,结合访问者模式,此处调用accept方法。