欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#接口使用示例分享

程序员文章站 2023-12-20 20:10:58
1、接口: 接口与抽象类一样,也是表示某种规则,一旦使用了该规则,就必须实现相关的方法。对于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、接口demo
 

复制代码 代码如下:

using 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交互");         }   
}
}

上一篇:

下一篇: