Наследование интерфейсов

Один интерфейс может наследовать другой. Синтаксис наследования интерфейсов такой же, как и у классов. Когда в классе реализуется один интерфейс, наследующий другой, в нем должны быть реализованы все члены, определенные в цепочке наследования интерфейсов, как в приведенном ниже примере.

// Пример наследования интерфейсов,

using System;

public interface IA {

  void Meth1();

  void Meth2() ;

}

// В базовый интерфейс включены методы Meth1() и Meth2(),

// а в производный интерфейс добавлен еще один метод — Meth3().

 public interface IB : IA {

  void Meth3();

}

// В этом классе должны быть реализованы

//все методы интерфейсов IA и IB.

class MyClass : IB {

  public void Meth1() {

    Console.WriteLine("Реализовать метод Meth1().");

  }

  public void Meth2() {

    Console.WriteLine("Реализовать метод Meth2().");

  }

  public void Meth3() {

    Console.WriteLine("Реализовать метод Meth3().");

  }

}

class IFExtend {

  static void Main() {

    MyClass ob = new MyClass();

    ob.Meth1();

    ob.Meth2();

    ob.Meth3();

  }

}

Ради интереса попробуйте удалить реализацию метода Meth1() из класса MyClass. Это приведет к ошибке во время компиляции. Как пояснялось ранее, в любом классе, реализующем интерфейс, должны быть реализованы все методы, определенные в этом интерфейсе, в том числе и те, что наследуются из других интерфейсов.