C# → Интерфейсы

Интерфейсы в C# исполняют роль соглашений.

В терминологии программирования интерфейс похож на класс, за исключением того, что ни один из его членов не реализован. Интерфейс группирует методы, свойства, события и индексаторы. Для него нельзя создать экземпляр: все что он содержит, — сигнатуры своих членов, причем таковыми могут быть только указанные четыре типа членов.

Интерфейс не имеет конструкторов и полей. Интерфейс не может иметь перегруженных операций.

Интерфейс объявляется практически также как класс, за исключением того, что его члены не имеют реализации (наподобие абстрактных методов). Отсутствие реализации и модификаторов доступа.

Пример реализации интерфейса:

    interface IEnumerator
    {
        // свойства
        object Current { get; }
        // методы
        bool MoveNext();
        void Reset();
    } ...
    public class myClass : IEnumerator, IConvertible {

Интерфейс IEnumerator важен для реализации коллекций и разработан для инкапсуляции функций перемещения по элементам коллекций (System.Collections) и разработан для инкапсуляции функций перемещения по элементам коллекции.

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

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

      IMyEnumerator my = new myClass();
      my.MoveNext();

Интерфейсы могут наследоваться друг от друга точно также, как и классы.

interface IMyEnumerator : IDisposable
  • Devil

    спасибо! то, что надо.