Why to use interface while we can make all methods abstract?
本问题已经有最佳答案,请猛点这里访问。
在抽象类中,我们可以将所有方法抽象化,这样它就可以像接口一样工作,那么为什么要使用接口呢??我能想到的一个原因是我们可以实现多个接口,而不是扩展多个类。是否涉及与设计或性能相关的事项??
你已经得到答案了。使用接口,我们可以强制执行多种类型的行为,因为使用类对您不起作用。例如,可以将类强制为IComparable和INumerable,但是如果您想用类来实现它是不可能的。
您已经确定了接口允许抽象类不允许的一件事。一个类不能扩展多个抽象类。
Is there any design or performance related thing involved??
号
没有性能差异。
您可能会认为抽象类(实际上,所有类)的单一继承限制使这成为一个"设计的东西"。当然,它会严重限制在OO设计中使用多态性。
(你也可以说,当你没有接口的时候,你不能遵循"编程到接口"的原则。然而,这是一个薄弱的论点…术语上的诡辩。)
在设计方面,最好使用
虽然可以使用所有的