不实现继承的抽象成员错误,但基类确实实现

时间:2012-09-24 00:17:55

标签: c# inheritance abstract

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

结构基本上是这样的:

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

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

public class SpecificTransaction : GeneralTransaction
{
}

据说SpecialTransaction没有实现MyMethod,但为什么要这样做? GeneralTransaction类实现它并且SpecificTransaction类继承自该类?

1 个答案:

答案 0 :(得分: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
{
}