c# - 在抽象类中实现接口(interface)

标签 c# .net oop

是否可以在抽象类中实现接口(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/

相关文章:

c# - 在 LINQ 中获取结果函数而不转换为存储表达式

c# - 如何从安装部署项目中排除 app.config

.net - 我如何从代码段中逃脱? (Vb.Net)

c# - 数据库恢复后查询超时

oop - R中的矩阵丢失类属性

c# - 在 WPF 数据网格中将 Null 或默认 DateTime 值显示为 "blank"或 NA

c#对象按引用传递还是按值传递

c# - ASP MVC 5 路由映射

oop - 面向对象编程中的外观

Python设计——初始化、设置和获取类属性