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();//编译时错误 }