• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

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. 隐式接口实现,类和接口都可访问接口中方法。显式接口实现,只能通过接口访问。

总结:

  1. 当类实现一个接口时,通常使用隐式接口实现,这样可以方便的访问接口方法和类自身具有的方法和属性。
  2. 当类实现多个接口时,并且接口中包含相同的方法签名,此时使用显式接口实现。即使没有相同的方法签名,仍推荐使用显式接口,因为可以标识出哪个方法属于哪个接口。
  3. 隐式接口实现,类和接口都可访问接口中方法。显式接口实现,只能通过接口访问。

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
两种语言实现设计模式(C++和Java)(七:原型模式)发布时间:2022-07-13
下一篇:
C#中判断socket是否已断开的方法发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap