在C#中继承接口

时间:2015-02-26 05:03:33

标签: c# oop

假设有一个界面IRun

public interface IRun
{
    public bool IsRunComplete();    
}

作者不是直接从这个接口继承,而是将这个接口的方法继承到一个类,并且从这个类继承的地方继承。

Public Class RUN : IRun
{
    public abstract bool IsRunComplete()
}

通过这种方式获得的好处是什么,而不是直接从接口继承。?

这个问题不是关于接口Vs摘要,而是关于理解在这种方法中实现接口的原因。

2 个答案:

答案 0 :(得分:2)

如果运行类确实只有一个抽象方法,那么就不需要该类了。有时当你看到代码并且无法达到目的时,原因是原始设计或想法很差。

答案 1 :(得分:2)

这是c#中的常见做法。这种情况可能会有所帮助。

  • 当您想对现有类进行重构或重新实现时。为了避免破坏现有代码,首先引入一个接口,然后更改代码引用以使用该接口而不是原始类,并使用工厂方法创建类实例而不是访问构造函数。最后,您可以自由地用全新的类替换类 - 只需让工厂方法返回新类的实例。当您创建新的代码时,您可能希望它与旧代码共享一些代码,因此让新类共享旧代码的相同基础并将共享代码移动到基类是保持兼容性的好方法。