русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Интерфейсы


Дата добавления: 2015-01-16; просмотров: 855; Нарушение авторских прав


Через него реализуется множественное наследование. Интерфейс содержит:

Методы

Свойства

Индексаторы

События

Интерфейс способен наследовать от одного или нескольких базовых интерфейсов.

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

Синтаксис интерфейса:

interface Имя

{

ПодписьМетода;

ПодписьСвойства;

}

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

Классы и структуры могут быть унаследованы от интерфейсов таким же образом, как классы могут быть унаследованы от базового класса или структуры, но есть два исключения:

Класс или структура может наследовать несколько интерфейсов.

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

Интерфейс используется для создания класса, в котором применяются методы разных классов. Множественное наследование е C# запрещено. Интерфейс задает контракт, определяющий отношение типа "может" или "имеет".

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



К интерфейсам применяются следующие ограничения.

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

К членам интерфейса или к самому интерфейсу не могут быть присоединены никакие разрешения безопасности.

В интерфейсах нельзя определять конструкторы.

В интерфейсах нельзя определять поля.

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

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

 



<== предыдущая лекция | следующая лекция ==>
Полиморфиэм | Возможности Visual C# Express


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.106 сек.