Ключевые слова C#. interface

Интерфейс (Interface) представляет собой просто набор названий абстрактных методов без реализации. В интерфейсе указывается только список действий, а реализация действий описывается в реализующих классах.

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

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

    interface ICar
    {
        void drive();
        int Wheels { get; set; }
    }

    public class Opel : ICar
    {
        int _wheels;
        public int Wheels
        {
            get
            {
              return _wheels ;
            }
            set {
                _wheels = value;
            }
        }

        public void drive()
        {
            Console.WriteLine(_wheels);
        }
    }

    class Program
    {
        static void Main()
        {
            Opel myOpel = new Opel();
            myOpel.Wheels = 4;
            myOpel.drive();
        }

    }

Интерфейс ICar реализован в классе Opel, который наследует интерфейс. При реализации интерфейса в классе должны быть реализованы все его методы и свойства, иначе при компиляции будет выдано сообщение о отсутствующих методах или свойствах.

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

Создание переменной интерфейса:

            ICar ncar = new Opel();
            ncar.Wheels = 8;
            ncar.drive();

 

Это позволяет использовать различные методы реализации одной и той же идеи.

 


Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment






MarkiMarta.ru. Записки отца-программиста" с 2009 г.
Категория информационной продукции 18+
Яндекс.Метрика