我们是否可以在不重写某些方法的情况下实现接口?我听说在某些情况下这是可能的

问题描述:

我们是否可以实现接口而不会覆盖其某些方法?我在某些情况下可能会听到这种情况。最近我在面试时遇到了这个问题。我们是否可以在不重写某些方法的情况下实现接口?我听说在某些情况下这是可能的

你可以继承从基类的实现,如果这就是你所想的:

interface IFoo 
{ 
    void Bar(); 
} 

class Parent 
{ 
    public void Bar() {} 
} 

class Child : Parent, IFoo {} 

如果这不是它虽然,我不知道你在想什么。

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

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()"); 
    } 
}