* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Реализация членов интерфейса на Visual Basic .NET
8 февраля 2009
В программе на Visual Basic .NET ключевое слово Implements позволяет указать, что данный член класса является реализацией члена интерфейса. Сигнатура члена клас- са, реализующего член некоторого интерфейса, должна быть идентична сигнатуре реализуемого им члена интерфейса, исключение составляет модификатор доступа. Следующий пример демонстрирует реализацию метода, являющегося членом ин- терфейса:
Visual Basic .NET Public Interface IDrivable Sub GoForward(ByVal Speed As Integer) End Interface Public Class Truck Implements IDrivable Public Sub GoForward(8yVal Speed As Integer) Implements IDrivable.GoForward Реализация опущена End Sub End Class Член класса, реализующий член интерфейса, вовсе не обязан иметь то же имя, что и член интерфейса. Например, вполне допустима следующая реализация мето- да GoForward из интерфейса IDrivable: Visual Basic .NET Public Sub Move(ByVa.l Speed As Integer) Implements IDrivable,GoForward 1 Реализация опущена End Sub Любой вызов метода GoForward, объявленного в интерфейсе IDrivable, в этом примере разрешается на метод Move из класса, реализующего метод интерфейса. Кроме того, методу класса, реализующему метод интерфейса, можно назначить уровень доступа, отличный от уровня доступа к интерфейсу. Например, разрешает- ся реализовать метод интерфейса, объявленного с уровнем доступа Public, через метод класса, объявленный с уровнем доступа Private. В этом случае при доступе к такому методу через интерфейс действует уровень доступа Public, а при доступе че- рез класс — уровень доступа Private. Чтобы реализовать интерфейс на Visual Basic .NET, необходимо выполнить сле- дующие действия. 1. Объявите класс с необходимым интерфейсом, указав его при помощи ключево- го слова Implements. В классе можно реализовать несколько интерфейсов 2. Воспользуйтесь ключевым словом Implements, чтобы создать реализацию для всех членов интерфейса, которые предполагается реализовать в классе.