在抽象类中实现接口

时间:2011-12-02 06:15:16

标签: c# .net oop

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

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?
}

1 个答案:

答案 0 :(得分:1)

是的,你可以做到。只需添加abstract关键字并删除实现。这显然是一个陷阱。任何继承自抽象类的类都必须自己实现GetData。根据{{​​1}}的子项数量,这可能会导致大量工作和代码重复。

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