是否可以在抽象类中实现接口(interface),并将实现的接口(interface)方法变为抽象的?
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?
}
最佳答案
是的,你可以做到。只需添加抽象关键字并删除实现即可。这显然有一个陷阱。任何继承自抽象类的类现在都必须自己实现 GetData
。根据有多少类是 MyAbstract
的子类,这可能会导致大量工作和代码重复。
在您的情况下,所讨论的方法是由 MyAbstract
实现的接口(interface)声明的,您实际上可以完全删除 GetData
并依赖此函数的声明在 ITest
中。
关于c# - 在抽象类中实现接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8352456/