Passo a passo: Criando e implementando interfaces (Visual Basic)
As interfaces descrevem as características de propriedades, métodos e eventos, mas deixam os detalhes da implementação para estruturas ou classes.
Este passo a passo demonstra como declarar e implementar uma interface.
Nota
Este passo a passo não fornece informações sobre como criar uma interface do usuário.
Nota
Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você tem e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Personalizando o IDE.
Para definir uma interface
Abra um novo projeto Visual Basic Windows Application.
Adicione um novo módulo ao projeto clicando em Adicionar módulo no menu Projeto .
Nomeie o novo módulo
Module1.vb
e clique em Adicionar. O código para o novo módulo é exibido.Defina uma interface com o nome
TestInterface
de dentroModule1
digitandoInterface TestInterface
entre asModule
instruções eEnd Module
e pressionando ENTER. O Editor de Códigos recua aInterface
palavra-chave e adiciona umaEnd Interface
instrução para formar um bloco de código.Defina uma propriedade, método e evento para a interface colocando o seguinte código entre as
Interface
instruções andEnd Interface
:Property Prop1() As Integer Sub Method1(ByVal X As Integer) Event Event1()
Implementação
Você pode notar que a sintaxe usada para declarar membros da interface é diferente da sintaxe usada para declarar membros da classe. Essa diferença reflete o fato de que as interfaces não podem conter código de implementação.
Para implementar a interface
Adicione uma classe nomeada
ImplementationClass
adicionando a seguinte instrução aModule1
, após aEnd Interface
instrução, mas antes daEnd Module
instrução e, em seguida, pressionando ENTER:Class ImplementationClass
Se você estiver trabalhando no ambiente de desenvolvimento integrado, o Editor de Códigos fornecerá uma instrução correspondente
End Class
quando você pressionar ENTER.Adicione a seguinte
Implements
instrução aoImplementationClass
, que nomeia a interface que a classe implementa:Implements TestInterface
Quando listada separadamente de outros itens na parte superior de uma classe ou estrutura, a
Implements
instrução indica que a classe ou estrutura implementa uma interface.Se você estiver trabalhando no ambiente de desenvolvimento integrado, o Editor de Códigos implementará os membros de classe exigidos quando
TestInterface
você pressionar ENTER e você poderá ignorar a próxima etapa.Se você não estiver trabalhando no ambiente de desenvolvimento integrado, deverá implementar todos os membros da interface
MyInterface
. Adicione o seguinte código paraImplementationClass
implementarEvent1
,Method1
eProp1
:Event Event1() Implements TestInterface.Event1 Public Sub Method1(ByVal X As Integer) Implements TestInterface.Method1 End Sub Public Property Prop1() As Integer Implements TestInterface.Prop1 Get End Get Set(ByVal value As Integer) End Set End Property
A
Implements
instrução nomeia a interface e o membro da interface que está sendo implementado.Conclua a definição adicionando um campo privado à classe que armazenou o valor da
Prop1
propriedade:' Holds the value of the property. Private pval As Integer
Devolve o valor do
pval
acessório da propriedade.Return pval
Defina o valor de no acessador do conjunto de
pval
propriedades.pval = value
Conclua a definição de adicionando o código a
Method1
seguir.MsgBox("The X parameter for Method1 is " & X) RaiseEvent Event1()
Para testar a implementação da interface
Clique com o botão direito do mouse no formulário de inicialização do seu projeto no Gerenciador de Soluções e clique em Exibir Código. O editor exibe a classe para seu formulário de inicialização. Por padrão, o formulário de inicialização é chamado
Form1
de .Adicione o seguinte
testInstance
campo àForm1
classe:Dim WithEvents testInstance As TestInterface
Ao declarar
testInstance
comoWithEvents
, aForm1
classe pode manipular seus eventos.Adicione o seguinte manipulador de eventos à
Form1
classe para manipular eventos gerados portestInstance
:Sub EventHandler() Handles testInstance.Event1 MsgBox("The event handler caught the event.") End Sub
Adicione uma sub-rotina nomeada
Test
àForm1
classe para testar a classe de implementação:Sub Test() ' Create an instance of the class. Dim T As New ImplementationClass ' Assign the class instance to the interface. ' Calls to the interface members are ' executed through the class instance. testInstance = T ' Set a property. testInstance.Prop1 = 9 ' Read the property. MsgBox("Prop1 was set to " & testInstance.Prop1) ' Test the method and raise an event. testInstance.Method1(5) End Sub
O
Test
procedimento cria uma instância da classe que implementaMyInterface
, atribui essa instância aotestInstance
campo, define uma propriedade e executa um método através da interface.Adicione código para chamar o
Test
procedimento doForm1 Load
procedimento do seu formulário de inicialização:Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Test() ' Test the class. End Sub
Execute o
Test
procedimento pressionando F5. A mensagem "Prop1 foi definida como 9" é exibida. Depois de clicar em OK, a mensagem "O parâmetro X para Method1 é 5" é exibida. Clique em OK e a mensagem "O manipulador de eventos detetou o evento" é exibida.