欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(C# 基础) 接口

程序员文章站 2022-06-13 21:02:00
...

接口是表示一组函数成员,而不实现成员的引用类型。类和结构可以实现接口。

例如BCL声明了一个叫做IComparable的接口,包含了一个CompareTo方法, 但没有实现其方法,用“;”结尾。

public interface IComparable
{
    int CompareTo(Object obj);
}

使用IComparable 接口:

class MyClass : IComparable
{
    public int value;

    public int CompareTo(object obj)  // 引用方法的实现
    {
        MyClass mc = (MyClass)obj;
        if ( this.value < mc.value)
        {
            return -1; 
        }
        else
        {
            return 0; 
        }
}

 

声明接口:

接口声明不不包含数据成员,只能包含如下类型的静态成员函数的声明:

  • 方法
  • 属性
  • 事件
  • 索引

接口声明 和 接口成员的访问有重要区别:

  • 接口的声明是可以有任何的访问修饰符public, protected, internal 或 private.
  • 接口的成员是隐式pulblic的,不允许有任何访问修饰符. 
public interface IMyInterface
{
    int Method(int parameter);
}

实现接口:

只有类和结构才能实现接口,要实现接口,类或结果必须:

  • 在基类列表中包括接口实现。
  • 为每一个接口的成员提供实现。