📜  C#接口

📅  最后修改于: 2020-10-31 03:11:24             🧑  作者: Mango

C#接口

C#中的接口是类的蓝图。就像抽象类一样,因为在接口内部声明的所有方法都是抽象方法。它不能具有方法主体,也不能实例化。

它用于实现类无法实现的多重继承。因为它没有方法主体,所以用于实现完全抽象。

它的实现必须由类或结构提供。实现接口的类或结构必须提供接口内部声明的所有方法的实现。

C#接口示例

让我们看一下C#中具有draw()方法的接口示例。它的实现由两个类提供:Rectangle和Circle。

using System;
public interface Drawable
{
    void draw();
}
public class Rectangle : Drawable
{
    public void draw()
    {
        Console.WriteLine("drawing rectangle...");
    }
}
public class Circle : Drawable
{
    public void draw()
    {
        Console.WriteLine("drawing circle...");
    }
}
public class TestInterface
{
    public static void Main()
    {
        Drawable d;
        d = new Rectangle();
        d.draw();
        d = new Circle();
        d.draw();
    }
}

输出:

drawing ractangle...
drawing circle...

注意:默认情况下,接口方法是公共的和抽象的。您不能为接口方法显式使用public和abstract关键字。

using System;
public interface Drawable
{
    public abstract void draw();//Compile Time Error
}