c#接口使用示例分享

 更新时间:2014年02月21日 11:44:55   作者:  
接口与抽象类一样,也是表示某种规则,一旦使用了该规则,就必须实现相关的方法。对于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交互");         }   
}
}

相关文章

  • C#中Dynamic和Dictionary性能比较

    C#中Dynamic和Dictionary性能比较

    开发中需要传递变参,考虑使用 dynamic 还是 Dictionary,dynamic 的编码体验显著优于 Dictionary,如果性能差距不大的话,我会选择使用dynamic。下面通过本文给大家详细介绍下C#中Dynamic和Dictionary性能比较,一起看看吧
    2016-11-11
  • C# ManagementObjectSearcher操作window案例详解

    C# ManagementObjectSearcher操作window案例详解

    这篇文章主要介绍了C# ManagementObjectSearcher操作window案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 深入多线程之:Wait与Pulse的使用详解

    深入多线程之:Wait与Pulse的使用详解

    本篇文章是对Wait与Pulse的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C#编程自学之类和对象

    C#编程自学之类和对象

    C#一种面向对象的编程语言,是专门为.NET应用而开发出的语言。在.NET运行库的支持下,.NET框架的各种优点在C#中表现得淋漓尽致。所以学习类和对象以及如何运用它们是非常重要!
    2015-10-10
  • C# winform实现右下角弹出窗口结果的方法

    C# winform实现右下角弹出窗口结果的方法

    这篇文章主要介绍了C# winform实现右下角弹出窗口结果的方法,结合实例形式分析了C#窗口操作的相关技巧,需要的朋友可以参考下
    2017-06-06
  • C# 实现Zookeeper分布式锁的参考示例

    C# 实现Zookeeper分布式锁的参考示例

    Zookeeper分布式锁的原理是巧妙的是使用了znode临时节点的特点和监听(watcher)机制,监听机制很简单,就是我们可以给znode添加一个监听器,当znode节点状态发生改变时(如:数据内容改变,节点被删除),会通知到监听器。本文讲解使用c#实现该功能
    2021-06-06
  • C#完成word文档打印的方法

    C#完成word文档打印的方法

    在日常工作中,我们可能常常需要打印各种文件资料,比如word文档。对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工。这篇文章主要介绍了C#完成word文档打印的方法,需要的朋友可以参考下
    2016-10-10
  • 详解C#中委托,事件与回调函数讲解

    详解C#中委托,事件与回调函数讲解

    这篇文章主要介绍了详解C#中委托,事件与回调函数讲解,小编觉得挺不错的,现在就分享给大家,也给大家做个参考。
    2016-12-12
  • C#算法函数:获取一个字符串中的最大长度的数字

    C#算法函数:获取一个字符串中的最大长度的数字

    这篇文章介绍了使用C#获取一个字符串中最大长度的数字的实例代码,有需要的朋友可以参考一下。
    2016-06-06
  • C#使用selenium实现爬虫

    C#使用selenium实现爬虫

    这篇文章介绍了C#使用selenium实现爬虫的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论