Универсальный интерфейс .NET Framework

Автор: Пользователь скрыл имя, 22 Февраля 2012 в 17:13, реферат

Описание работы

Платформа .NET Framework — это интегрированный компонент Windows, который поддерживает создание и выполнение нового поколения приложений и веб-служб XML. При разработке платформы .NET Framework учитывались следующие цели:• Обеспечение согласованной объектно-ориентированной среды программирования для локального сохранения и выполнения объектного кода, для локального выполнения кода, распределенного в Интернете, либо для удаленного выполнения.
• Обеспечение среды выполнения кода, минимизирующей конфликты при развертывании программного обеспечения и управлении версиями.

Работа содержит 1 файл

ООП.doc

— 155.00 Кб (Скачать)


Міністерство освіти і науки України

Національний авіаційний університет

Інститут заочного та дистанційного навчання

 

 

 

 

 

 

 

 

 

 

 

Контрольна робота з предмету:

 

«Мови об’єктно-орієнтованого програмування»

 

 

 

 

 

 

Роботу виконала:

студентка III-курсу

спеціальність 6.050103

Дітківська Сніжана Леонідівна

залікова книжка № 070143

варіант №10

 

 

 

 

 

 

 

 

 

 

 

Київ-2010

Универсальный интерфейс .NET Framework

 

Платформа .NET Framework — это интегрированный компонент Windows, который поддерживает создание и выполнение нового поколения приложений и веб-служб XML. При разработке платформы .NET Framework учитывались следующие цели:

        Обеспечение согласованной объектно-ориентированной среды программирования для локального сохранения и выполнения объектного кода, для локального выполнения кода, распределенного в Интернете, либо для удаленного выполнения.

        Обеспечение среды выполнения кода, минимизирующей конфликты при развертывании программного обеспечения и управлении версиями.

        Обеспечение среды выполнения кода, гарантирующей безопасное выполнение кода, включая код, созданный неизвестным или не полностью доверенным сторонним изготовителем.

        Обеспечение среды выполнения кода, исключающей проблемы с производительностью сред выполнения сценариев или интерпретируемого кода.

        Обеспечение единых принципов работы разработчиков для разных типов приложений, таких как приложения Windows и веб-приложения.

        Разработка взаимодействия на основе промышленных стандартов, которое обеспечит интеграцию кода платформы .NET Framework с любым другим кодом.

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

 

Сортировка и сравнение на равенство

Как и у их неуниверсальных аналогов, у универсальных интерфейсов System.IComparable(T) и System.IEquatable(T) из пространства имен System определены, соответственно, методы для сортировки и сравнения на равенство. Типы реализуют эти интерфейсы для обеспечения возможности выполнения этих действий.

Универсальные интерфейсы IComparer(T) и IEqualityComparer(T) из пространства имен System.Collections.Generic предоставляют способ определения операции упорядочения или сравнения на равенство для типов, в которых не реализуются универсальные интерфейсы System.IComparable(T) или System.IEquatable(T), а также дают возможность переопределения этих отношений тем типам, которые реализуют эти интерфейсы. Эти интерфейсы используются методами и конструкторами многих универсальных классов коллекций. К примеру, конструктору класса SortedDictionary(TKey, TValue) можно передать универсальный объект IComparer(T), чтобы указать порядок сортировки для типа, в котором не реализован универсальный интерфейс System.IComparable(T). Существуют перегрузки универсального статического метода Array.Sort и метода экземпляра List(T).Sort, предназначенные для сортировки массивов и списков с помощью реализаций универсального интерфейса IComparer (T).

Универсальные классы Comparer(T) и EqualityComparer(T) являются базовыми для реализаций универсальных интерфейсов IComparer(T) и IEqualityComparer(T); эти классы предоставляют методы сортировки и сравнения на равенство по умолчанию через соответствующие свойства Comparer(T).Default и EqualityComparer(T).Default.

 

Функциональность коллекций

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

Универсальный интерфейс IList(T) дополняет универсальный интерфейс ICollection (T) методами для получения элементов по индексу.

Универсальный интерфейс ID интерфейс ICollection (T) методами для получения элементов по ключу. Универсальные типы словарей в библиотеке базовых классов .NET Framework также реализуют неуниверсальный интерфейс IDictionary.

Универсальный интерфейс IEnumerable (T) формирует универсальную структуру перечислителя. Универсальный интерфейс IEnumerator(T), реализуемый универсальными перечислителями, наследует от неуниверсального интерфейса IEnumerator; его члены MoveNext и Reset, не зависящие от параметра типа T, присутствуют только в неуниверсальном интерфейсе. Это означает, что любой потребитель неуниверсального интерфейса также может использовать универсальный интерфейс.

 

IComparable (T) – интерфейс

 

Определяет обобщенный метод сравнения, тип значения или класс которого используется для создания метода сравнения упорядоченных экземпляров.

Пространство имен:  System

Сборка:  mscorlib (в mscorlib.dll)

Синтаксис

Язык Visual Basic (Объявление)

Public Interface IComparable(Of T)

Язык Visual Basic (Использование)

Dim instance As IComparable(Of T)

 

Язык C#

public interface IComparable<T>

Язык Visual C++

generic<typename T>

public interface class IComparable

Язык J#

J# поддерживает использование универсальных интерфейсов API, но не объявление новых таких интерфейсов.

Язык JScript

JScript не поддерживает универсальные типы и методы.

Параметры типа: тип объектов для сравнения.

Заметки

Этот интерфейс реализуется типами, значения которых допускают упорядочение, например числовыми и строковыми классами. Тип значения или класс реализует метод CompareTo для создания метода сравнения определенного типа, пригодного для таких целей, как сортировка.

Интерфейс IComparable(T) предоставляет строго типизированный метод сравнения, который применяется для упорядочивания элементов объекта универсальной коллекции. В связи с этим он обычно не вызывается непосредственно из кода разработчика. Вместо этого он вызывается автоматически такими методами, как List(T).Sort() и Add.

Примечания для реализующих объектов:

Заменяет параметр типа интерфейса IComparable(T) типом, реализующим этот интерфейс.

 

IEquatable (T) – интерфейс

 

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

Пространство имен:  System

Сборка:  mscorlib (в mscorlib.dll)

Синтаксис

Язык Visual Basic (Объявление)

Public Interface IEquatable(Of T)

Язык Visual Basic (Использование)

Dim instance As IEquatable(Of T)

Язык C#

public interface IEquatable<T>

Язык Visual C++

generic<typename T>

public interface class IEquatable

Язык J#

J# поддерживает использование универсальных интерфейсов API, но не объявление новых таких интерфейсов.

 

Язык JScript

JScript не поддерживает универсальные типы и методы.

Параметры типа : тип объектов для сравнения.

Заметки

Этот интерфейс реализуется типами, значения которых допускают сравнение (например, числовыми и строковыми классами). Тип значения или класс реализует метод Equals для создания зависящего от типа метода, подходящего доя определения равенства экземпляров.

Интерфейс IEquatable(T) используется объектами универсальной коллекции, например, Dictionary(TKey, TValue), List(T) и LinkedList(T), во время проверки на равенство в таких методах, как Contains, IndexOf, LastIndexOf и Remove. Он должен реализовываться для любого объекта, который может храниться в универсальной коллекции.

Примечания для реализующих объектов:

Заменяет параметр типа интерфейса IEquatable(T) типом, реализующим этот интерфейс.

Если реализуется интерфейс IEquatable(T), следует также переопределить реализацию базового класса для методов Object.Equals(Object) и GetHashCode, чтобы их поведение соответствовало поведению метода IEquatable(T).Equals. Если переопределяется метод Object.Equals(Object), переопределенная реализация также вызывается в вызовах статического метода Equals(System.Object, System.Object) для вашего класса. Благодаря этому все вызовы метода Equals возвращают согласованные результаты.

 

IComparer(T) – интерфейс

 

Определяет метод, реализуемый типом для сравнения двух объектов.

Пространство имен:  System.Collections.Generic
Сборка:  mscorlib (в mscorlib.dll)

Синтаксис

Язык Visual Basic (Объявление)

Public Interface IComparer(Of T)

Язык Visual Basic (Использование)

Dim instance As IComparer(Of T)

Язык C#

public interface IComparer<T>

Язык Visual C++

generic<typename T>

public interface class IComparer

Язык J#

J# поддерживает использование универсальных интерфейсов API, но не объявление новых таких интерфейсов.

Язык JScript

JScript не поддерживает универсальные типы и методы.

Параметры типа : тип сравниваемых объектов.

Заметки

Этот интерфейс используется вместе с методами List(T).Sort и List(T).BinarySearch. Он позволяет настроить порядок сортировки коллекции. В число классов, реализующих этот интерфейс, входят универсальные классы SortedDictionary(TKey, TValue) и SortedList(TKey, TValue).

Реализацией этого интерфейса по умолчанию является класс Comparer(T). Класс StringComparer реализует этот интерфейс для типа String.

Этот интерфейс поддерживает сравнения, выполняемые при упорядочении. Т. е. когда метод Compare возвращает 0, это означает, что два объекта сортируются одинаково. Реализация сравнений, выполняемых для установления точного равенства, обеспечивается универсальным интерфейсом IEqualityComparer(T).

 

IEqualityComparer(T) – интерфейс

 

Определяет методы для поддержки операций сравнения объектов в отношении равенства.

Пространство имен:  System.Collections.Generic

Сборка:  mscorlib (в mscorlib.dll)

Синтаксис

Язык Visual Basic (Объявление)

Public Interface IEqualityComparer(Of T)

Язык Visual Basic (Использование)

Dim instance As IEqualityComparer(Of T)

Язык C#

public interface IEqualityComparer<T>

Язык Visual C++

generic<typename T>

public interface class IEqualityComparer

Язык J#

J# поддерживает использование универсальных интерфейсов API, но не объявление новых таких интерфейсов.

Язык JScript

JScript не поддерживает универсальные типы и методы.

Параметры типа : тип объектов для сравнения.

Заметки

Этот интерфейс допускает возможность реализовать настраиваемое сравнение коллекций в отношении равенства. Это означает, что можно создать свое собственное определение равенства для типа T и указать, что это определение должно использоваться для типа коллекции, который принимает универсальный интерфейс IEqualityComparer(T). В .NET Framework конструкторы универсальных типов коллекций Dictionary(TKey, TValue) принимают этот интерфейс.

Реализация по умолчанию этого интерфейса предоставляется свойством Default универсального класса EqualityComparer (T). Класс StringComparer реализует интерфейс IEqualityComparer (T) типа String.

Этот интерфейс поддерживает только сравнения в отношении равенства. Настройка сравнений для сортировки или упорядочения предоставляется универсальным интерфейсом IComparer(T).

 

ICollection (T) - интерфейс

 

Определяет методы, используемые для управления универсальными коллекциями.

Пространство имен:  System.Collections.Generic

Сборка:  mscorlib (в mscorlib.dll)

Синтаксис

Язык Visual Basic (Объявление)

Public Interface ICollection(Of T) _

    Implements IEnumerable(Of T), IEnumerable

Язык Visual Basic (Использование)

Dim instance As ICollection(Of T)

Язык C#

public interface ICollection<T> : IEnumerable<T>,

    IEnumerable

Язык Visual C++

generic<typename T>

public interface class ICollection : IEnumerable<T>,

    IEnumerable

Язык J#

J# поддерживает использование универсальных интерфейсов API, но не объявление новых таких интерфейсов.

Язык JScript

JScript не поддерживает универсальные типы и методы.

Параметры типа : тип элементов в коллекции.

Заметки

Интерфейс ICollection(T) — это базовый интерфейс для классов в пространстве имен System.Collections.Generic.

Информация о работе Универсальный интерфейс .NET Framework