
- •Эволюция языков программирования
- •Объектная декомпозиция.
- •Классы и объекты
- •Конструкторы и деструкторы.
- •Основные средства разработки классов
- •Описание класса в с#
- •Деструкторы
- •3.Методы-свойства
- •Наследование в c#
- •Интерфейсы, структуры, делегаты, события. Интерфейс.
- •Операции is и as
- •Стандартные интерфейсы .Net
- •Делегаты
Интерфейсы, структуры, делегаты, события. Интерфейс.
Интерфейс – это «предельный случай» понятия абстрактного класса.
В интерфейсе задается набор методов и свойств, которые должны быть реализованы в производных классах.
Сходства интерфейса и абстрактного класса:
Задают сходное поведение разных классов
Используются для одинакового обращения к объектам разных классов
Нельзя создавать объекты.
Отличия интерфейса и абстрактного класса:
Для интерфейса допустимо множественное наследование
В интерфейсах нельзя определять методы, только сигнатуры
В интерфейсах нельзя описывать поля, константы, конструкторы, деструкторы, статические элементы.
Интерфейсы используются для задания общих свойств классов из разных иерархий, абстрактные классы служат для определения одинакового поведения классов одной иерархии.
Элементы интерфейса по умолчанию имеют модификатор доступа 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.
Делегаты
Делегаты – это вид класса, преднозначенный для хранения ссылок на методы
Можно передавать в качестве параметрв а затем вызвать инкапсулированный в нем методы