首页
登录
从业资格
第五题 阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内
第五题 阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内
题库
2022-08-02
80
问题
第五题 阅读以下说明和Java代码,填补代码中的空缺,将解答填入答题纸的对应栏内。【说明】以下Java代码实现一个超市简单销售系统中的部分功能,顾客选择图书等物件 (Item)加入购物车(ShoppingCart),到收银台(Cashier)对每个购物车中的物品统计其价格进行结账。设计如图5-1所示类图。
问题:5.1 【Java代码】interface Item{ public void accept(Visitor visitor); public double getPrice();}class Book (1){ private double price; public Book(double price){(2);} public void accept(Visitor visitor){ //访问本元素 (3); } public double getPrice() { return price; }}//其它物品类略 interface Visitor { public 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方法和折扣策略类似,此处略public double getTotal() { return totalForCart; }}class ShoppingCart { //normal shopping cart stuff private java.util.ArrayList<Item>items=new java.util.ArrayList<>(); public double calculatePrice() { Cashier visitor=new Cashier(); for(Item item:items) { (6); } double total=visitor.getTotal(); return total; } public void add(Item e) { this.items.add(e); }}
选项
答案
解析
implements Item
(2)this.price=price
(3)visitor.visit(this)
(4)implements Visitor
(5)public void visit(Book book)
(6)item.accept(visitor)
【解析】
这里考察的是访问者模式。其定义如下:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。
第一、四空为接口与实现,接口使用Interface,实现使用implements。第二空this表示类实例本身。第三空为访问本元素。第五空实现接口里面的方法。第六空调用accept方法。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2425967.html
本试题收录于:
初级程序员题库软件水平考试初中高级分类
初级程序员
软件水平考试初中高级
相关试题推荐
网页中代码"inputtype=textname="foo"size=20
在如下所示的一段XML代码中,根元素名为()。 <?xmlversion="
在网页中创建一个如下图所示的表单控件的HTML代码是()。 A.<input
通过内部发起连接与外部主机建立联系,由外部主机控制并盗取用户信息的恶意代码为(
下列设置图像地图正确的HTML代码是()。A.<areashape="po
()不是蠕虫病毒。A.冰河 B.红色代码 C.熊猫烧香 D.爱虫病毒
阅读以下说明,回答问题1至问题4,将解答填入对应的解答栏内。 【说明】
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。 【说明】
阅读以下说明,回答问题1至问题2,将解答填入答题纸对应的解答栏内。 【说明】
阅读以下说明,回答问题1至问题4,将答案填入答题纸对应的解答栏内。(注:此题为思
随机试题
Notoncesincemysonwenttohighschool______travelingwithhim.A、hadIgoneB
Whathappenedlastnight?[originaltext]Iknewtheywantedtodrinkmeunderthe
ChooseTHREEletters,A-G.WhichTHREEtopicsaretheyinterestedinstudyingin
[originaltext] (16)Handwritinghasbecomeadyingart,nowthatkidsstartus
下列关于易燃易爆危险品的说法中正确的是()。A.在易燃易爆危险品这一类物
根性坐骨神经病,最常见的病因是A.椎管内肿瘤 B.风湿或受寒 C.腰椎间盘突
具有恶变倾向的葡萄胎患者不包括A:年龄大于50岁 B:葡萄胎排出前hCG值异常
三相对称负载三角形连接时,线电压最大值是相电压有效值的()。
甲烧杯装有浓度为6%的酒精200克,乙烧杯装有浓度为10.5%的酒精100克。现
公司信贷的借款人应当是经过( )核准登记的企(事)业法人。A.司法机关 B.
最新回复
(
0
)