在抽象类中实现接口

本文关键字:接口 实现 抽象类 | 更新日期: 2023-09-27 18:16:40

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

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中该函数的声明。