如果一个对象继承自从接口继承的抽象类,那么该对象是否从接口继承?

时间:2011-09-14 23:54:23

标签: c# ioc-container

如果对象继承自从接口继承的抽象类,那么对象是否会从接口继承?

此接口是否可以与依赖注入容器一起使用?

感谢。

2 个答案:

答案 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解决方案相同,并且还可以轻松添加新的重载。