interface
我想知道 aan和abstract
class之间有什么区别?有什么优点/缺点,我应该什么时候使用?
除了这些问题,我还能用抽象类做依赖注入吗?因为我正在使用 DI 并且想要声明静态字段/私有方法
接口不能有实现。
抽象类可以有实现——这可以被继承/实现类型使用。
当您想在继承类型之间共享实现时使用抽象类,以允许代码重用(并保持DRY)。
此外,一个类可以实现任意数量的接口,但只能从一个类继承,所以这是另一个考虑因素。
一个区别是抽象类可以包含实现的成员,而接口成员没有任何实现/
另一个是接口不能有字段,抽象类可以。
抽象类鼓励为继承它的类重用基本代码,而接口则在实现相同接口的类之间创建兼容性。
如上所述,您可以实现多个接口,但您只能从一个类继承。