* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Реализация членов интерфейса на Visual C#
8 февраля 2009

На Visual C# члены интерфейсов, объявленных в классах и структурах, реализуют
следующим образом. Для этого определяют член с именем, совпадающим с и менем
члена интерфейса, причем этот член класса объявляется с тем же уровнем доступа,
с которым объявлен интерфейс. Вот пример реализации метода как члена интер-
фейса:
Visual C#
public interface IDrivable
{
void GoForward(int Speed);
}
public class Truck : IDrivable
{
public void GoForward(int Speed)
{
// Реализация опущена
.
I
Члены интерфейса, реализованные таким способом, становятся доступны как
интерфейсу, так и самому классу. В результате эти члены можно вызывать после
преобразования объекта, где интерфейс реализован, в его собственный тип либо в
тип этого интерфейса.
Кроме того, допустимо реализовать интерфейс в классе явно. Члены, ревизо-
ванные подобным образом, доступны только после преобразования объекта в тип
интерфейса. Чтобы реализовать член интерфейса явно, следует объявить в классе
одноименный член, указав полное имя интерфейса. Вот пример явно реализован-
ного метода GoForward, являющегося членом интерфейса IDrivable:
Visual C#
public class Truck : IDrivable
{
void IDrivable. GoForward(int Speed)
{
// Реализация опущена
Обратите внимание, что у этого члена нет модификатора доступа. Поскольку
этот член интерфейса реализован явно, его уровень доступа определяется модифи-
катором, заданным для интерфейса.
Чтобы реализовать интерфейс в программе на С#, необходимо выполнить сле-
дующие действия.
1. Объявите класс с нужным интерфейсом при помощи двоеточия (;). Так можно
указать несколько интерфейсов, разделив их имена запятыми.
2. Напишите реализацию для всех членов интерфейса:
• чтобы член оказался доступен как через класс, так и через интерфейс, объя-
вите этот член с именем, уровнем доступа и сигнатурой, идентичным тако-
вым членам интерфейса;
• чтобы сделать член доступным только через интерфейс, объявите его при по-
мощи полного имени интерфейса, указывать модификатор доступа при этом
не обязательно.

Теги: .NET

Статьи по теме:

Вызов методов
Специальные возможности и элементы управления Windows Forms
Вложенные элементы управления и контейнеры
Удаление и отключение точек прерывания
Применение встроенной функциональности типов данных
Языки программирования .NET
Наследование от абстрактного класса
Создание DataAdapter с помощью мастера Data Adapter Configuration Wizard
Установка сборок в виде компилированных образов
Создание типизированного объекта DataSet с помощью XML Designer
Вызов функций Windows API
Запись трассировочных данных в журнал событий
Компонент PrintDocument
Стратегия оптимизации
Генерация исключений
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Реализация членов интерфейса на Visual C#. Регион сайта: Москва и Санкт-Петербург