接口的特征

接口是用来定义规范的,可以降低程序模块间的藕合度。

接口中可以包含方法、事件、属性、索引,不能包含字段和常量和委托。

如下:

interface Iface
    {

      //方法
       int GetName(string strName);

     //重载上面方法
       string GetName(int intAge);

    //属性
        int tGetName
        {
            get;
            set;
        }

      //索引
        int this[string strName]
        {
            set;
        }

      //事件
        event EventHandler OnTell;
    }
不能使用public、static、virtual等修饰接口成员,接口成员默认就是public。

接口内方法可以重载如上。方法在实现类中实现时可以是virtual的,可以在派生类中被重写。

接口中默认的方法访问修饰符是public,有返回类型和参数,无方法体,即没有大括号及其内部所有内容。

 实现接口中方法要保证以下四点完全相同:

访问修饰符(public),返回类型,参数类型,参数个数,但在常规实现(即方法名前不含接口名的实现形式如public string GetName(){})中的方法可以是virtual方法,以便在实现类的派生类中能够重写。在显式实现(即方法名前含接口名的实现形式如string ISHow.GetName(){})中除了返回类型和参数外,其它修饰符都不能有。

原文地址:https://www.cnblogs.com/liancs/p/3879360.html