Четверг, 13.05.2021, 13:58
Приветствую Вас Гость | RSS | PDA

Всё для студента информата

Полезная информация

Статьи IT

Всё для студента IT » Статьи » Программирование для Microsoft® .NET

Интерфейсы .NET Framework

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

Интерфейс задает определенное соглашение между типом и его пользователями. Так, многие классы в пространстве имен System.Collections порождены от интерфейса /Enumerable. В нем определены методы итерации по элементам набора (collection). Поскольку классы-наборы FCL реализуют fEnumerable, их можно указывать в конструкции foreacb языка С#. Во время исполнения сгенерированный из foreach код применяет метод GetEnumerator интерфейса ШпшпегаЫе, чтобы организовать итерацию по содержимому набора.

Интерфейсы определяются ключевым словом interface языка С#:

interface ISecret
{
void Encrypt (byte[] inbuf, out byte[] outbuf, Key key);
void Unencrypt (byte[] inbuf, out byte[] outbuf, Key key);
}

Класс или структура, которым нужно реализовать интерфейс, просто определяются как его производные и наполняют его методы конкретной реализацией:

class Message : ISecret
{
public void Encrypt (byte[] inbuf, out byte[] outbuf, Key key)
{
---
}
public void Unencrypt (byte[] inbuf, out byte[] outbuf, Key key)
{
---
}
}

Для выяснения, реализует ли объект заданный интерфейс, в С# служит ключевое слово is. Пусть объект msg реализует интерфейс ISecret, тогда в этом примере is возвратит значение true; иначе вернется false:

if (msg is ISecret) {
ISecret secret = (ISecret) msg;
secret. Encrypt (...);
}

Чтобы одним оператором протестировать наличие интерфейса у объекта и привести объект к типу интерфейса, применяется ключевое слово as.

Похожие статьи:

Не нашли то, что Вам нужно?.. Найдите ответ на форуме!
Категория: Программирование для Microsoft® .NET | Добавил: Akron (12.02.2012)
Просмотров: 413 | Теги: .NET
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Сообщество
Помощь
Форма входа
Поиск

Студенческий помощник по информатике © 2021
При цитировании материалов данного сайта, обязательна ссылка на источник: ITstudents.ru



>