C#中的接口是类的蓝图。就像抽象类一样,因为在接口内部声明的所有方法都是抽象方法。它不能具有方法主体,也不能实例化。
它用于实现类无法实现的多重继承。因为它没有方法主体,所以用于实现完全抽象。
它的实现必须由类或结构提供。实现接口的类或结构必须提供接口内部声明的所有方法的实现。
C#接口示例
让我们看一下C#中具有draw()方法的接口示例。它的实现由两个类提供:矩形和圆形。
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();
}
}
【C#接口interface】输出:
drawing ractangle...
drawing circle...
注意:默认情况下,接口方法是公共的和抽象的。你不能为接口方法显式使用public和abstract关键字。
using System;
public interface Drawable
{
public abstract void draw();
//Compile Time Error
}