【发布时间】:2015-07-09 23:41:52
【问题描述】:
在下面的代码中,我在“小时工”类中重写了“支付”方法,这个类继承自该类。 super.pay 的计算是工资率 * 工作时间。对于此推销员类,根据添加到推销员对象的销售额,工资中会添加佣金。但是,当我在推销员司机课程上调用 pay 方法时,即使我增加了工作时间和销售额,它也没有增加佣金。我附上了以下代码:
package sales;
public class JuniorSalesman extends Hourly {
protected double commission;
private double totalSales;
public JuniorSalesman(String eName, String eAddress, String ePhone, String socSecNumber, double rate, double commission) {
super(eName, eAddress, ePhone, socSecNumber, rate);
totalSales = 0;
}
public void addSales(double sales)
{
totalSales += sales;
}
public double pay()
{
double payment = super.pay() + (totalSales * commission);
totalSales = 0;
return payment;
}
public String toString()
{
String result = super.toString();
result += "\nTotal Sales: " + totalSales;
return result;
}
}
【问题讨论】:
-
你应该为相关语言(java?)添加一个标签,否则大师永远不会接受它!
标签: methods overriding