接口

接口不包含任何代码或数据;它只规定了从接口继承的类必须提供哪些方法和属性。使用接口,方法的名称/签名可以和方法的具体实现完全隔绝

接口的限制

  1:不能在接口中定义任何字段,包括静态字段。字段本质上是类或结构的实现细节

  2:不能在接口中定义任何构造器。构造器也是类或结构的实现细节

  3:不能为任何方法指定访问修饰符。接口所有方法都隐式为公共方法

  4:不能在接口中嵌套任何类型(例如枚举、结构、类或其他接口)

  5:虽然一个接口能从另一个接口继承,但不允许从结构或类继承。结构和类含有具体实现;如果允许接口从它们继承,就会继承实现。

显示实现接口 

class Horse : ILandBound,IJourney
{
     int ILandBound.NumberOfLegs()
    {
          return 4;
    }
   
     int IJourney.NumberOfLegs()
    {
        return 3;
    }   
      
}    

  显式实现接口:

    1、为方法名附加接口前缀

    2、不能为方法指定访问修饰符

通过接口来引用类

  接口变量能引用实现了该接口的类的对象

    Horse myHorse = new  Horse();

    ILandBound iMyHorse = myHorse;

原文地址:https://www.cnblogs.com/leimingzhiqiu/p/6999619.html