16、接口 interface

1. 定义:

  1. 定义一个接口,在语法上跟定义一个抽象类完全相同,但不允许提供接口中任何成员的实现方法。

  2. 一般情况下,接口只能包含方法,属性,索引器和事件的声明。

  3. 接口不能包含常量、字段、运算符、实例构造函数、析构函数或类型。

  4. 接口成员会自动成为公共成员,不能包含任何访问修饰符。 成员也不能是静态成员。

  5. 当类或结构实现接口时,类或结构必须为该接口定义的所有成员提供实现。 接口本身不提供类或结构可以通过继承基类功能的方式来继承的任何功能。 但是,如果基类实现接口,则从基类派生的任何类都会继承该实现。

2. 使用注意:

每个类只能继承一个类、但是可以实现多个接口

3. 案例:

    // 定义一个接口
    interface IEnemyPort
    {
        void Attack();
        void Move();
    }

    // 实现一个接口
    public class Boss : IEnemyPort
    {
          public void Attack()
          {

          }

          public void Move()
          {
              
          }
    }

4. 接口的继承

  1. 继承其他的接口,就具备了其他接口声明的方法。 并且可以扩充自己的方法定义。

  2. 遵守该接口的类,需要将其所有的接口和继承的接口中的方法定义都实现。

public interface IBossPort : IEnemyPort
{
      void CallHelp();
}

你可能感兴趣的:(16、接口 interface)