如果对象继承自从接口继承的抽象类,那么对象是否会从接口继承?
此接口是否可以与依赖注入容器一起使用?
感谢。
答案 0 :(得分:5)
是的,它确实实现了该接口,因为这是真的,它可以作为依赖注入。
这是一个快速测试,证明了接口的实现:
using System;
interface IParent {}
abstract class Parent : IParent {}
class Example : Parent
{
static void Main()
{
Console.WriteLine(new Example() is IParent);
}
}
答案 1 :(得分:0)
我认为界面是一种契约。由于抽象类继承自接口,因此肯定需要实现接口的功能。并且要求对象(实际上是它的类)覆盖抽象类的抽象函数。 在我看来,这种模式只适用于稳定的接口或抽象类。因为一旦接口或抽象类的合同发生了变化,那将是一场灾难。糟糕~~,你搞砸了!
我更喜欢将虚拟类用于基类并使函数成为虚函数,因此您可以在子类中覆盖它们与interface / abstractclass解决方案相同,并且还可以轻松添加新的重载。