繁体   English   中英

C#实现继承的抽象成员

[英]C# Implement inherited abstract member

我试图从派生类继承抽象成员,但它不起作用。 我已经将该类设置为抽象类,例如

现在我的主程序对CalculateWeeklyPay()说了同样的话,我在主类中不需要它。 我该如何解决?

// Pay method
public double CalculateWeeklyPay(double Hours, double Wage)
{
    return Hours * Wage;
}

CalculateWeeklyPay的参数列表隐藏了类成员HoursWage 我怀疑您想要这样:

// 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) ,但是在此函数中没有两个double number。这是错误的。

public override double CalculateWeeklyPay(){...}

抽象就像是虚拟的,除了派生类必须重写它或者必须自己变成抽象。

output += "\\n\\t Weekly Pay:\\t" + CalculateWeeklyPay().ToString("C2");

CalculateWeeklyPay需要两个参数:工资和小时数。 从定义中删除这些参数,它将起作用:

public override double CalculateWeeklyPay()
{
  ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM