-5

interface我想知道 aan和abstractclass之间有什么区别?有什么优点/缺点,我应该什么时候使用?

除了这些问题,我还能用抽象类做依赖注入吗?因为我正在使用 DI 并且想要声明静态字段/私有方法

4

2 回答 2

5

接口不能有实现。

抽象类可以有实现——这可以被继承/实现类型使用。

当您想在继承类型之间共享实现时使用抽象类,以允许代码重用(并保持DRY)。

此外,一个类可以实现任意数量的接口,但只能从一个类继承,所以这是另一个考虑因素。

于 2013-02-22T14:39:34.913 回答
0

一个区别是抽象类可以包含实现的成员,而接口成员没有任何实现/

另一个是接口不能有字段,抽象类可以。

抽象类鼓励为继承它的类重用基本代码,而接口则在实现相同接口的类之间创建兼容性。

如上所述,您可以实现多个接口,但您只能从一个类继承。

于 2013-02-22T14:39:41.997 回答