我们可以实现接口而不会覆盖它的某些方法。我听说在某些情况下这是可能的

时间:2010-09-21 10:18:39

标签: c#

我们可以在不覆盖其某些方法的情况下实现界面。我听说在某些情况下这是可能的。我最近在采访中遇到了这个问题。

2 个答案:

答案 0 :(得分:1)

您可以从基类继承实现,如果这是您的想法:

interface IFoo
{
    void Bar();
}

class Parent
{
    public void Bar() {}
}

class Child : Parent, IFoo {}

如果不是这样,我不知道你在想什么。

答案 1 :(得分:1)

您可以在抽象类中实现接口,并将接口的某些部分保留为抽象来在进一步派生的类中实现它们:

interface A
{
    void f();
    void g();
}

abstract class B : A
{
    public void f()
    {
        Console.WriteLine("B.f()");
    }

    public abstract void g();
}

class C : B
{
    public override void g()
    {
        Console.WriteLine("C.g()");
    }
}