Зарезервированное слово Implements и оператор Implements
Обновлен: Ноябрь 2007
Зарезервированное слово Visual BasicImplements используется двумя способами. Инструкция Implements означает, что класс или структура реализуют интерфейс. Ключевое слово Implements обозначает, что элемент класса или структуры реализует элемент интерфейса.
Реализация инструкции
Если класс или структура реализуют один или несколько интерфейсов, он должно включать инструкцию Implements сразу после инструкции Class или Structure. Инструкция Implements требует разделенный запятыми список интерфейсов, внедряемый с помощью класса. Класс или структура должны реализовать все элементы интерфейса с помощью ключевого слова Implements.
Ключевое слово Implements
Ключевое слово Implements требует разделенный запятыми список элементов интерфейса для внедрения. Как правило, указывается только один элемент интерфейса, но можно указать и несколько элементов. Спецификация элемента интерфейса обязательно состоит из имени интерфейса, которое должно быть указано в операторе implements внутри класса, точки и имени реализуемой функции, свойства или события элемента. Для имени элемента класса, который реализует элемент интерфейса, можно использовать любой допустимый идентификатор, не ограничиваясь требованием InterfaceName_MethodName, как это было в более ранних версиях Visual Basic.
Например следующий код показывает способ объявления подпрограммы с именем Sub1, которая реализует метод интерфейса:
Class Class1
Implements interfaceclass.interface2
Sub Sub1(ByVal i As Integer) Implements interfaceclass.interface2.Sub1
End Sub
End Class
Необходимо, чтобы типы параметров и возвращаемые типы элемента реализации соответствовали свойствам интерфейса или объявлению элементов в интерфейсе. Обычным способом реализации элемента интерфейса является способ с использованием элемента, имя которого совпадает с именем интерфейса (см. предыдущий пример).
Для объявления реализации метода интерфейса можно использовать любые допустимые атрибуты в объявлении метода экземпляра, включая Overloads, Overrides, Overridable, Public, Private, Protected, Friend, Protected Friend, MustOverride, Default и Static. Атрибут Shared не является допустимым, поскольку он определяет класс, а не метод экземпляра.
С помощью Implements можно также задать единственный метод, который реализует несколько методов, определенных в интерфейсе, как в следующем примере:
Class Class2
Implements I1, I2
Protected Sub M1() Implements I1.M1, I1.M2, I2.M3, I2.M4
End Sub
End Class
Можно использовать закрытый элемент для реализации элемента интерфейса. Если закрытый элемент реализует элемент интерфейса, он становится доступен через интерфейс, даже если он не доступен непосредственно через переменные класса.
См. также
Задачи
Практическое руководство. Создание и реализация интерфейсов
Пошаговое руководство. Создание и реализация интерфейсов
Основные понятия
Примеры реализации интерфейсов в Visual Basic