What's the difference between interface and abstract and how about Dependency Injection
本问题已经有最佳答案,请猛点这里访问。
我想知道Aan-
除了这些问题,我还能用抽象类进行依赖项注入吗?因为我使用的是DI并且想声明静态字段/私有方法
接口不能有实现。
抽象类可以有实现-这可以由继承/实现类型使用。
当您希望在继承类型之间共享实现时,可以使用抽象类,以允许代码重用(并保持干燥)。
此外,类可以实现任意数量的接口,但只能从单个类继承,因此这是另一个考虑因素。
一个区别是抽象类可以包含实现的成员,而接口成员没有任何实现/
另一个原因是接口不能有字段,抽象类可以。
抽象类鼓励对继承它的类重用基代码,接口在实现相同接口的类之间创建兼容性。
如上所述,可以实现多个接口,但只能从一个类继承。