我们可以用类实现同样的事情然后为什么接口?

时间:2012-09-07 09:20:54

标签: oop interface

我知道接口不能包含方法体,我们可以在另一个类中实现并可以编写我们的自定义逻辑。但同样的事情也可以通过使用继承与类来实现。接下来为什么接口会出现。如果我们想要覆盖任何方法定义,我们可以继承类,并可以编写我们的自定义代码。接口的确切目的是什么?

2 个答案:

答案 0 :(得分:6)

一个原因是一个类可以实现多个接口,但只能从一个类派生。

另一个是,层次完全不相关的类可以实现相同的接口。在没有接口的静态类型语言中,人们通常可以观察到非常深的继承层次结构,只是因为它们不能简单地实现接口而不得不强制导出不相关的类。这通常会违反" Is a" - 继承原则。这样的实现也倾向于拖拽未使用的代码,只是因为它需要继承树继续下去。

tl; dr - 它可以完成,但结果通常是丑陋且不可维护的

答案 1 :(得分:2)

  • 接口 - 对象可以执行此操作。
  • Class - 这是对象执行此操作的方式。

也可以使用接口来避免diamond problem