首先,我需要覆盖方法:
public boolean recordBid(int bidPrice,String sellerID)
所以它管理出价的记录。
首先,如果bidPrice大于buyNowprice,则此bidPrice应重置为buyNowPrice。在重置投标价格后(如果需要),该方法应调用recordBid()方法的超类版本,将投标价格和卖方ID作为参数传递,并捕获它返回的结果(即将其存储在变量),以便可以检查以确定是否已成功记录出价。
我对如何捕获结果感到有点困惑,也不确定我是否在这里以正确的方式进行操作?。
我原来的recordBid()方法:
public boolean recordBid(int bidPrice, String bidderID)
{
if (saleEnded == true)
{
return false;
}
else if (bidPrice <= this.highestBid)
{
return false;
}
else
{
this.highestBid = bidPrice;
this.bidderID = bidderID;
return true;
}
}
我的子类,我需要覆盖recordBid()
public class BuyItNowSale extends ItemSale {
//instance variables
private double buyNowPrice;
private boolean acceptingNearestOffer;
public BuyItNowSale(String itemNumber, String itemDescription, String itemCondition,
String sellerID, boolean acceptingNearestOffer) {
super(itemNumber, itemDescription, itemCondition, sellerID);
this.acceptingNearestOffer = false;
//overidden recordBid() method
public boolean recordBid(int bidPrice, String bidderID) {
if(bidPrice > buyNowPrice) {
bidPrice = 0;
super.recordBid(bidPrice, sellerID);
}
}
答案 0 :(得分:0)
根据您的要求
如果bidPrice大于buyNowprice,则此bidPrice应重置为buyNowPrice
你的方法应该是:
@Override
public boolean recordBid(int bidPrice, String bidderID) {
if(bidPrice > buyNowPrice) {
bidPrice = (int) buyNowPrice;
}
return super.recordBid(bidPrice, sellerID);
}