Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП Лекция!2.doc
Скачиваний:
7
Добавлен:
26.09.2019
Размер:
256 Кб
Скачать

Интерфейсы, структуры, делегаты, события. Интерфейс.

  • Интерфейс – это «предельный случай» понятия абстрактного класса.

  • В интерфейсе задается набор методов и свойств, которые должны быть реализованы в производных классах.

Сходства интерфейса и абстрактного класса:

  • Задают сходное поведение разных классов

  • Используются для одинакового обращения к объектам разных классов

  • Нельзя создавать объекты.

Отличия интерфейса и абстрактного класса:

  • Для интерфейса допустимо множественное наследование

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

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

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

  • Элементы интерфейса по умолчанию имеют модификатор доступа public и не могут иметь модификаторов, заданных явным образом.

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

Синтаксис описания:

[атрибуты] [модификаторы]

Interface имя_интерфейса [: предки]

Тело_интерфейса [ ; ]

Модификаторы:

  • New – для вложенных интерфейсов

  • Public

  • Protected

  • Private

  • Internal – по умолчанию

Операции is и as

  • Операция is проверяет совместим ли объект с заданным типом.

  • Результат операции равен true, если объект можно преобразовать к заданному типу, и false в противном случае.

  • Операция as выполняет преобразования к заданному типу, а если это невозможно, формирует результат null.

Стандартные интерфейсы .Net

  • I Comparable - сравнение объектов

Метод Сompare To()

Используется при сортировке

  • I Comparer – сортировка по разным критериям

  • I Cloneable – создание копии объекта

  • I Enumerable, I Enumerator – для организации перебора в foreach.

Делегаты

  • Делегаты – это вид класса, преднозначенный для хранения ссылок на методы

  • Можно передавать в качестве параметрв а затем вызвать инкапсулированный в нем методы