zoukankan      html  css  js  c++  java
  • C#显示接口实现和隐式接口实现

    C#显示接口实现和隐式接口实现

    在项目中可能会遇到显示接口实现和隐式接口实现。什么意思呢?简单来说使用接口名作为方法名的前缀,这称为“显式接口实现”;传统的实现方式,称为“隐式接口实现”。隐式接口实现如下:

    复制代码

    interface ISkill
    {
      void Flying();
    }
    
    //隐式实现ISkill接口
    public class Bird: ISkill
    {
      public void Flying()
        {            
        }
    }

    复制代码

    我们在隐式实现接口下可以这样调用:

      

    复制代码

    1 //第一种调用方式
    2 Bird bird = new Bird();
    3 bird.Flying();
    4 
    5 //第二种调用方式
    6  ISkill secondBrid = new Bird();
    7  secondBrid.Flying();

    复制代码

    直接用类和接口都可以调用Flying方法。

    显示接口实现如下:

    复制代码

    interface ISkill
    {
         void Flying();
    }
    
    public class Bird : ISkill
    {
           //方法名称为接口名.方法名
          void ISkill.Flying()
          {          
          }
    }

    复制代码

    此时的调用只能用接口调用,如下:

    ISkill secondBrid = new Bird();
    secondBrid.Flying();

    不能通过类来调用:

    Bird bird = new Bird();
    bird.Flying();

    总结:

    1. 当类实现一个接口时,通常使用隐式接口实现,这样可以方便的访问接口方法和类自身具有的方法和属性。
    2. 当类实现多个接口时,并且接口中包含相同的方法签名,此时使用显式接口实现。即使没有相同的方法签名,仍推荐使用显式接口,因为可以标识出哪个方法属于哪个接口。
    3. 隐式接口实现,类和接口都可访问接口中方法。显式接口实现,只能通过接口访问。
  • 相关阅读:
    linux日常管理-screen
    linux日常管理-xarge_exec
    linux日常管理-linux日志
    linux日常管理-系统服务
    linux命令-任务计划-cron
    linux日常管理-防火墙netfilter工具-iptables-3
    linux日常管理-防火墙netfilter工具-iptables-2
    开启80端口
    linux日常管理-防火墙netfilter工具-iptables-1
    随机4位验证码
  • 原文地址:https://www.cnblogs.com/grj001/p/12223035.html
Copyright © 2011-2022 走看看