如何避免从抽象类实现方法?

Xan*_*ndr 0 c# inheritance abstract-class

为简单起见,假设我有一个"Base"抽象类:

public abstract class BaseClass
{
    public abstract void BaseMethod(object obj);

    public abstract void BaseMethod();
}
Run Code Online (Sandbox Code Playgroud)

我想从这个"BaseClass"继承第二和第三类:

public class Class1 : BaseClass
{
    public override void BaseMethod(object obj)
    {
        //Some code
    }
}

public class Class2 : BaseClass
{
    public override void BaseMethod()
    {
        //Some code
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,我希望每个类都实现一个方法而不实现另一个.上面的例子不起作用,因为对于每个类我都被提示实现另一个抽象方法.

我知道我可以实现另一种方法'空'.但是,我试图避免这种情况,因为我发现了以下声明:

可以在不实现抽象方法的情况下继承抽象类(尽管这样的派生类本身是抽象的)

这种说法有误吗?非常感谢有关此主题的任何意见.谢谢!

D S*_*ley 8

可以在不实现抽象方法的情况下继承抽象类(尽管这样的派生类本身是抽象的)

粗体部分是您不遵守的部分 - 是的,您可以拥有一个仅实现某些抽象方法的"中间"类,但该类也必须是抽象的.在某些时候,当你到达具体类时,必须实现所有抽象方法; 无论是在类本身还是在继承链的某个地方.