C# 中的接口是类的蓝图。它就像抽象类,因为在接口内声明的所有方法都是抽象方法。它不能有方法体,也不能被实例化。
用于实现类无法实现的多重继承。它用于实现完全抽象,因为它不能有方法体。
它的实现必须由类或结构提供。实现接口的类或结构必须提供接口内声明的所有方法的实现。
让我们看一下 C# 中具有 draw() 方法的接口示例。它的实现由两个类提供:Rectangle 和 Circle。
using System;
public interface Drawable
{
void draw();
}
public class Rectangle : Drawable
{
public void draw()
{
Console.WriteLine("绘制矩形...");
}
}
public class Circle : Drawable
{
public void draw()
{
Console.WriteLine("画圈...");
}
}
public class TestInterface
{
public static void Main()
{
Drawable d;
d = new Rectangle();
d.draw();
d = new Circle();
d.draw();
}
}
输出:
画摇篮... 画圈...
using System;
public interface Drawable
{
public abstract void draw();//编译时错误
}