【发布时间】:2013-05-29 16:03:03
【问题描述】:
一位面试官问我以下问题,我无法回答:
既然存在抽象类,为什么还需要接口?
无论我们在接口中编写什么方法,我们也可以在抽象类中编写。那为什么我们需要单独的接口呢?
谁能告诉我是什么原因?
提前谢谢...
【问题讨论】:
-
多重继承突然想到,c#中可以实现多个接口但只能继承一个类
-
从Java的角度来看,抽象类用于继承层次,接口用于实现契约。
-
接口在依赖注入和单元测试场景中也是无价的。抽象基类仍然可以包含逻辑,因此无法在测试场景中完全模拟出来。
-
接口是形容词,类是名词。
-
-1,没有研究工作。您不能从搜索抽象类和接口之间的差异开始吗?这不完全是一个未讨论的话题。
标签: c#