慕盖茨4494581
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465//接口示例class Program { static void Main(string[] args) { S s = new S(); s.Fun(); s.Method(); s.Run(); s.Start(); } }interface IFA { void Fun();//接口中的方法默认都为public;但不能显示使用public }interface IFB : IFA //子接口IFB继承了父接口IFA { void Method();//子接口中又添加了新的方法 }interface INC { void Start(); }class F { public virtual void Run() { Console.WriteLine("Run() in F!"); } } class S : F, IFB, INC //子类S在继承父类的同时又实现了另外两个接口 { public override void Run() { Console.WriteLine("Run() in S!"); } //继承接口,必须描述接口所有的方法。接口定义了一个个的空方法,这些方法需要继承它的类挨个实现。接口什么实现都没有,不用重写,不需要使用override关键字 public void Fun() { Console.WriteLine("Fun() in S!"); } public void Method() { Console.WriteLine("Method() in S!"); } public void Start() { Console.WriteLine("Start() in S!"); } } abstract class T : IFB { //在T中未实现接口IFB中的所有方法;因此它是一个抽象类 public void Method() { Console.WriteLine("Method() in S!"); } public abstract void Fun(); } 注意:接口中只能包含方法、属性、索引器和事件的声明。不允许声明成员上的修饰符,即使是pubilc都不行,因为接口成员总是公有的,也不能声明为虚拟和静态的。如果需要修饰符,最好让实现类来声明。 接口就是抽象类和虚方法的杂种! 个人理解: C#是单继承,接口是解决C#中 类不能同时继承多个基类的解决方法。