Содержание
- 2. Определение интерфейса Интерфейс – это набор семантически связанных абстрактных методов, свойств и событий. Класс, реализующий интерфейс,
- 3. Пример интерфейса // Этот интерфейс определяет возможности // работы с углами геометрической фигуры public interface IPointy
- 4. Пример интерфейса // Любой класс может реализовывать любое количество интерфейсов, но он должен // производиться только
- 5. Пример интерфейса public class Triangle : Shape, IPointy { public Triangle(){} public Triangle(string name) : base(name)
- 6. Получение ссылки на интерфейс // Получаем ссылку на интерфейс IPointy, // используя явное приведение типов Hexagon
- 7. Получение ссылки на интерфейс с помощью оператора as // Еще один способ получить ссылку на интерфейс
- 8. Проверка существования интерфейса с помощью оператора is // Есть ли у этой фигуры углы? Triangle t
- 9. Пример использования is // Давайте выясним (во время выполнения), у каких // геометрических фигур есть углы
- 10. Интерфейсы как параметры // Интерфейс для отображения фигур в трех измерениях public interface IDraw3D { void
- 11. Интерфейсы как параметры // Создаем несколько геометрических фигур. Если они поддерживают // отображение в трех измерениях,
- 12. Разрешение конфликтов имен public interface IDraw3D { void Draw3D(); } // А что будет, если мы
- 13. Разрешение конфликтов имен // Вызываем Line.Draw() Line myLine = new Line(); myLine.Draw() // Вызываем Line.Draw() еще
- 14. Явная реализация интерфейса // При помощи явной реализации методов интерфейса мы можем // определить разные варианты
- 15. Явная реализация интерфейса // Конфликтов имен не будет! public class SuperImage : IDraw, IDrawToPrinter, IDraw3D {
- 16. Создание иерархий интерфейсов // Базовый интерфейс interface IDraw { void Draw(); } interface IDraw2 : IDraw
- 17. Создание иерархий интерфейсов // Этот класс будет поддерживать IDraw, IDraw2 и IDraw3 public class SuperImage :
- 18. Создание иерархий интерфейсов // Проверяем наши интерфейсы public class TheApp { public static int Main(string[] args)
- 19. Наследование от нескольких базовых интерфейсов interface IBasicCar { void Drive(); } interface IUnderwaterCar { void Dive();
- 20. Наследование от нескольких базовых интерфейсов JBCar j = new JBCar(); if(j is IJamesBondCar) { ((IJamesBondCar)j).Drive(); ((IJamesBondCar)j).TurboBoost();
- 21. Использование встроенных интерфейсов Интрефесы IEnumerate, IEnumerate
- 22. Описание класса Car // Cars — набор объектов класса Car public class Cars { private Car[]
- 23. Применить foreach? // Кажется очень заманчивым public class CarDriver { public static void Main() { Cars
- 24. Interface IEnumerable // Необходимо, чтобы класс реализовывал // интерфейс IEnumerable public class Cars : IEnumerable {
- 25. Интерфейс IEnumerator public interface IEnumerator { // Передвинуть внутренний указатель на одну позицию bool MoveNext(); //
- 26. Модификация класса Cars // Набор объектов Car с реализованным нумератором! public class Cars: IEnumerator, IEnumerable {
- 27. Применить foreach! public class CarDriver { public static void Main() { Cars carLot = new Cars();
- 28. Дополнительные способы обращения к объектам Car // Обращаемся к объектам Car через IEnumerator IEnumerator itfEnum; itfEnum
- 29. Создание клонируемых объектов Интерфейс ICloneable
- 30. Поверхностное копирование (shallow copy) // Наш класс — это просто точка с координатами на плоскости public
- 31. Глубокое копирование (deep copy) // Реализуем в классе Point поддержку глубокого копирования // через интерфейс ICloneable
- 32. Глубокое копирование (deep copy) // Обратите внимание, что Clone() возвращает // "объект вообще". Чтобы получить из
- 33. Сравнивание объектов Интерфейс IComparable
- 34. Интерфейс IComparable Car[] myAutos = new Car[5]; myAutos[0] = new Car(123, "Rusty"); myAutos[1] = new Car(6,
- 35. Реализация интерфейса IComparable // Такая реализация метода CompareTo() позволит сортировать // объекты автомобилей по значению идентификатора
- 36. Применяем интерфейс IComparable // Применяем реализованный нами интерфейс IComparable на практике public class CarApp { public
- 37. Сортировка по нескольким идентификаторам Интерфейс IComparer в System.Collection // Стандартный способ сравнения двух объектов interface IComparer
- 38. Создание вспомогательного класса // Этот вспомогательный класс нужен для // сортировки объектов Car по PetName using
- 39. Сортировка по указанному полю // Now sort by pet name. Array.Sort(myAutos, new SortByPetName()); Console.WriteLine("\nOrdering by pet
- 40. Можно включить статическое свойство public class Car : IComparable { // As a nested class! private
- 41. Пространство имен System.Collections Интерфейсы и классы
- 42. Интерфейсы
- 43. Классы
- 44. Применение ArrayList // Нам больше не нужно реализовывать IEnumerator — все уже сделано за нас в
- 46. Скачать презентацию
































![Интерфейс IComparable Car[] myAutos = new Car[5]; myAutos[0] = new Car(123, "Rusty");](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/1049257/slide-33.jpg)










Лекция 4
Использование электронных образовательных технологий в очном и дистанционном обучении. Создание и оформление группы
Использование информационных и коммуникационных технологии в учебном процессе
Арифметические операции в системах счисления
Информатика, информация и её классификация
Работа с объектами Adobe Illustrator
Материальный веб-дизайн
Объёмный NPC
Всероссийская Ассоциация Блогеров
Скорочтение
Одномерные массивы целых чисел начала программирования
Виды кабелей для передачи информации
Безопасность сети. Средства обеспечения безопасности сети
Знакомство с операционной системой
Базовая аппаратная конфигурация. Внутреннее устройство системного блока
Онлайн-обучение
Синхронизация. Лекция12
Типы и структуры данных в .Net
Linux Mint 18.3 Sylvia Cinnamon
Система подготовки к ОГЭ по информатике
Не пропади в сети
Тормоза 1С – откуда и как с ними бороться
Кластеризация. Импровизация
Защита информации
Коммуникация и общество
Уроки по Spike Prime. Функции подсветки
Монтаж. Этапы
Приклад презентації. Реєстрація користувача