我正在尝试从派生类继承抽象成员,但它不起作用。我已将类设置为抽象类,例如
现在我的主程序对 CalculateWeeklyPay() 说了同样的话,我不应该在我的主类中需要它。我该如何解决?
我正在尝试从派生类继承抽象成员,但它不起作用。我已将类设置为抽象类,例如
现在我的主程序对 CalculateWeeklyPay() 说了同样的话,我不应该在我的主类中需要它。我该如何解决?
// Pay method
public double CalculateWeeklyPay(double Hours, double Wage)
{
return Hours * Wage;
}
参数列表CalculateWeeklyPay
隐藏类成员Hours
和Wage
。我怀疑你想要这个:
// Pay method
public double CalculateWeeklyPay()
{
return Hours * Wage;
}
事实上,我会更进一步,将其设为只读属性:
// Pay method
public double WeeklyPay
{
get { return Hours * Wage; }
}
output += "\n\t Weekly Pay:\t" + CalculateWeeklyPay().ToString("C2");
你定义public double CalculateWeeklyPay(double Hours, double Wage)
了,但在这个函数中没有两个双数。这是错误的。
public override double CalculateWeeklyPay(){...}
abstract 与 virtual 类似,只是派生类必须覆盖它或者必须成为抽象类本身。
output += "\n\t Weekly Pay:\t" + CalculateWeeklyPay().ToString("C2");
CalculateWeeklyPay 需要 2 个参数:工资和工时。从定义中删除这些参数,它将起作用:
public override double CalculateWeeklyPay()
{
...
}