你的位置:首页 > ASP.net教程

[ASP.net教程]C#接口的使用


1、接口:  接口与抽象类一样,也是表示某种规则,一旦使用了该规则,就必须实现相关的方法。对于C#语言而言,由于只能继承自一个父类,因此若有多个规则需要实现,则使用接口是个比较好的做法。 2、接口的定义interface 接口名{  方法声明;} 3、不同接口中若有多个相同名称的方法,则需要显式指定接口名,例如:            4、接口的使用使用接口也可以实现多态。代码如下:class Program{  static void Main(string[] args)  {    //提供三个类,完成工资的计算    List<ICalu> list = new List<ICalu>();    list.Add(new Boss());    list.Add(new Clert());    list.Add(new Clert());    list.Add(new Customer());    foreach (ICalu emp in list)    {      emp.Calu(); //多态    }  }}class Boss : ICalu{  public void Calu()  {    Console.WriteLine("计算老板工资");  } }class Customer : ICalu{  public void Calu()  {    Console.WriteLine("计算客户工资");  }}class Clert : ICalu{  public void Calu()  {    Console.WriteLine("计算职员工资");  }}interface ICalu{  void Calu();} 5、接口应用场合举例 6、接口demousing System;using System.Collections.Generic;using System.Linq; using System.Text;namespace ConsoleApplication1 {  class Program   {     static void Main(string[] args)     {       List<IShow> list = new List<IShow>();       list.Add(new Map());       list.Add(new Voice());       list.Add(new Video());       list.Add(new ThreeD());      foreach(IShow ishow in list)       {         ishow.Show();       }     }   }   interface IShow   {     void Show();   }   public class Map:IShow   {     public void Show()     {       Console.WriteLine("显示图片");     }  }   public class Voice : IShow   {     public void Show()     {       Console.WriteLine("播放声音");     }  }   public class Video : IShow   {     public void Show()     {       Console.WriteLine("显示视频");     }   }   public class ThreeD : IShow   {     public void Show()     {       Console.WriteLine("3D交互");     }  }}