重新指定已由基类实现的接口时的行为是什么

时间:2010-05-10 20:02:27

标签: oop inheritance interface

给出以下代码:

public interface IExample { ... }
public abstract class BaseExample: IExample { ... }

public class ExampleA : BaseExample { ... }
public class ExampleB : BaseExample, IExample { ... }

编写像ExampleB这样的代码有什么好处或缺点吗?

我的猜测是在派生类ExampleB中重新指定IExample是多余的。我错了吗?我以为派生类隐式继承了其基类型实现的所有接口?

我们目前正在编写像ExampleB这样的东西,但是它开始让我觉得我们的一些派生类实现变得多么冗长。这里的另一位开发人员说它很好,因为它更好地声明了类的意图并使代码更具可读性。但对我来说它只是变得混乱。

1 个答案:

答案 0 :(得分:0)

这将是多余的。

另一件值得注意的事情是,当单个实现开始实现大量接口时,它很可能会损害单一责任原则。很难说何时/如果是这种情况,它也很大程度上取决于接口。