关于接口的显式实现与隐式实现

写文章只是记录自己的成长,一方面加深记忆,一方面希望能对同在学习路上的朋友有所帮助。

接口是我们在开发中经常用到的,接口是什么?为什么用接口?

大家都知道接口是一种契约,一种规范,它用来定义类所能实现的属性,方法和事件,接口也允许将功能定义为一些紧密相关的属性、方法和事件的小组

为什么用接口继承而不用类继承的原因:

1、接口的适用性强。

2、接口比较灵活,可以定义单个实现来实现多个接口。

3、无需从基类继承实现的情况下,接口更容易实现。

4、在无法使用类继承的情况下接口很有用。

 关于接口的显式实现和隐式实现。

 先看个例子:

//接口Li  包含Zi() 方法

publice Interface Li

{

   void Zi()

  {

  }

}

///一个A类显式继承Li

   public class A : Li
    {
         Void  Li.ZI()
        {
         }
    }

//一个B类隐式继承 Li
    public class B : Li
    {
        public  void Zi ()
        {
         }
    }

大家可以看出显式实现 方法是属于接口的, 可以看成是暂时寄托在类中实现的,访问这些方法时要先把对象转换成接口对象,然后通过接口对象调用。

隐式实现的话就是 接口中的方法是属于类的,你调用方法时,可以通过实例化调用你实现的接口的方法,这样:B b=new B() ;b.Zi();

一般来讲显式实现用得比较少,但是在实现具有相同名称和签名的两个接口方法时就必须用到了。

原文地址:https://www.cnblogs.com/BungeeJumping/p/2210004.html