Содержание
- 2. Интерфейс Интерфейс содержит определения для группы определенного функционала, который класс или структура могут реализовывать
- 3. Интерфейс Определяется интерфейс с помощью ключевого слова интерфейс (interface). interface IEquatable { bool Equals(T obj); }
- 4. Интерфейс Методы Свойства События Индексаторы
- 5. Интерфейсы не могут содержать Интерфейсы не могут содержать члены данных. В них нельзя также определить конструкторы,
- 6. Интерфейсные свойства // Интерфейсное свойство тип имя{ get; set; }
- 7. Интерфейс или абстрактный класс Интерфейс необходим: Когда необходимо наделить объект различным поведением. Когда в иерархиях наследования
- 8. Ключевое слово as Помогает определить есть ли в заданном объекте интерфейс. Если объект удается интерпретировать как
- 9. Ключевое слово as IInfo obj = ui1 as IInfo; if (obj != null) Console.WriteLine("Тип UI поддерживает
- 10. Ключевое слово is Если запрашиваемый объект не совместим с указанным интерфейсом, возвращается значение false, а если
- 11. Ключевое слово is if (ui1 is IInfo) Console.WriteLine("Тип UI поддерживает интерфейс IInfo"); else Console.WriteLine(":(");
- 12. Наследование интерфейсов Один интерфейс может наследовать другой. Использовать иерархию интерфейсов может быть удобно, когда нужно расширить
- 13. Явная реализация интерфейса Единственный класс или структура может реализовать любое количество интерфейсов. Из-за этого всегда существует
- 14. Стандартные интерфейсы В библиотеках базовых классов .NET поставляются сотни предопределенных типов интерфейсов, которые реализуются в различных
- 15. Сравнение объектов Интерфейс IComparable определен в пространстве имен System. Он содержит всего один метод CompareTo, возвращающий
- 16. Сравнение объектов Метод должен возвращать: 0, если текущий объект и параметр равны; отрицательное число, если текущий
- 17. Пример class Monster : IComparable { public Monster( int health, int ammo, string name ) {
- 18. Пример public int CompareTo( object obj ) // реализация интерфейса { Monster temp = (Monster) obj;
- 19. Сортировка по разным критериям (интерфейс IComparer) Пример сортировки массива объектов из предыдущего листинга по именам (свойство
- 20. public class SortByName : IComparer // { int IComparer.Compare( object ob1, object ob2 ) { Monster
- 21. Клонирование объектов Если необходимо скопировать в другую область памяти поля объекта, можно воспользоваться методом MemberwiseClone. При
- 22. Клонирование объектов Для создания полностью независимых объектов необходимо глубокое клонирование, когда в памяти создается дубликат всего
- 23. Клонирование объектов Объект, имеющий собственные алгоритмы клонирования, должен объявляться как наследник интерфейса ICloneable и переопределять его
- 24. class Monster : ICloneable { public Monster( int health, int ammo, string name ) { this.health
- 26. Скачать презентацию