zoukankan      html  css  js  c++  java
  • 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交互");         }    
    
    }
    
    }
    
     
  • 相关阅读:
    amd
    富文本编辑器
    css module
    uc浏览器调试
    mysql利用sql语句将查询结果导出
    自启程序为何自启失败?
    nginx4层代理ssh服务
    创建SFTP用户并指定访问目录 Linux
    01月04日17:15:40 学习进度笔记
    01月04日10:39:23总结
  • 原文地址:https://www.cnblogs.com/linbin524/p/3554779.html
Copyright © 2011-2022 走看看