c# – 在抽象类中实现接口

是否可以在抽象类中实现接口并将实现的接口方法更改为抽象?

interface ITest
{
    string GetData();
    int ProcessData();
}

public abstract class MyAbstract:ITest
{
    public int Process()
    {
        // some code
    }

    public abstract string GetData(); // Change the implemented method into abstract Is it Possible?
}
最佳答案
是的,你可以做到.只需添加abstract关键字并删除实现.这显然是一个陷阱.任何继承自抽象类的类都必须自己实现GetData.根据MyAbstract的子级数量,这可能会导致大量工作和代码重复.

在您的情况下,MyAbstract实现的接口声明了相关方法,您实际上可以完全删除GetData并依赖于ITest中此函数的声明.

转载注明原文:c# – 在抽象类中实现接口 - 代码日志