【问题标题】:Does not implement inherited abstract member error, but base class does implement不实现继承抽象成员错误,但基类实现
【发布时间】:2012-09-24 00:17:55
【问题描述】:

在 C# 中出现编译错误,说明我的子类没有实现继承的抽象数据成员。

结构本质上是这样的:

public abstract class Transaction
{
    public abstract int MyMethod();
}

public abstract class GeneralTransaction : Transaction
{
    public override int MyMethod()
    {
        return 1;
    }
}

public class SpecificTransaction : GeneralTransaction
{
}

是说SpecificTransaction 没有实现MyMethod,但为什么要实现呢? GeneralTransaction 类实现它,SpecificTransaction 类继承自该类?

【问题讨论】:

  • 编译得非常好。我怀疑在简化代码以将其发布到此处时发生了一些变化。仔细检查真实代码,并尝试提供更接近真实的代码示例,以便我们为您提供帮助。

标签: c# inheritance abstract


【解决方案1】:

我担心你的结构比这更复杂。这个例子很好用。

class Program
{
    static void Main(string[] args)
    {
        var tr = new SpecificTransaction();
        Console.WriteLine(tr.MyMethod()); //shows 1
    }
}

public abstract class Transaction
{
    public abstract int MyMethod();
}

public abstract class GeneralTransaction : Transaction
{
    public override int MyMethod()
    {
        return 1;
    }
}

public class SpecificTransaction : GeneralTransaction
{
}

【讨论】:

  • 我在实际实现中错过了“覆盖”,呵呵!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-18
  • 2017-09-22
  • 1970-01-01
相关资源
最近更新 更多