Visual C# для чайников. Урок 13. Понятие интерфейса. Создание собственного класса. |
![]() |
![]() |
Автор megabax | ||||||
13.05.2012 г. | ||||||
Visual C# для чайников. Урок 13. Понятие интерфейса. Создание собственного класса.Предположим, у нас стоит задача написать разработать несколько драйверов для разных устройств. С этими драйверами будет работать одна программа. Таким образом, независимо от устройства, эта программа должна быть совместима с каждым из них. Следовательно, каждый драйвер должен иметь единый интерфейс, который понимает данная программа. А вот как драйвер будет управлять устройством - это уже его дело. В C# есть инструменты, которые позволяют реализовать такую задачу. И так, давайте познакомимся с таким понятием, как интерфейс. Это класс, методы которого не реализованы. Он является шаблоном для объявления других классов. Пусть, например, перед нами стоит задача создать драйвера устройств, которые могут принимать и посылать данные. Создаем для них вот такой интерфейс:
Теперь создадим класс первого драйвера:
а затем второго:
Теперь мы можем использовать данные классы, в том числе, можем даже объявить массив(список) из элементов интерфейса MyDriver, но хранить в нем экземпляры классов драйвером, которые наследуют данный интерфейс, например, вот так:
Протестируем программу: Стоит заметить, что если мы объявим класс, который не наследует данный интерфейс, например вот такой:
то мы не сможем добавить его в список элементов этого интерфейса, даже если он содержит его методы: Так же мы не сможем добавить в список и сам экземпляр интерфейса (так как эта операция бессмысленна, интерфейс - это абстрактное понятие): Аналогичным образом мы можем объявить и переменную типа интерфейса, и присвоить ей экземпляр любого класса, который данный интерфейс наследует. Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft..
(С) Шуравин Александр
|
||||||
Последнее обновление ( 12.02.2014 г. ) |
« След. | Пред. » |
---|