Passo a passo: Criando e implementando interfaces (Visual Basic)
Interfaces descrevem as características das propriedades, métodos e eventos, mas deixe os detalhes de implementação para classes ou estruturas.
Esta explicação passo a passo demonstra como declarar e implementar uma interface.
Observação |
---|
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ê possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações do Visual Studio. |
Para definir uma interface
Open a new Visual Basic Windows Application project.
Adicionar um novo módulo ao projeto clicando em Adicionar módulo sobre o projeto menu.
ONome do novo módulodeModule1.vb e clique em Adicionar. O código para o novo módulo é exibido.
Definir uma interface denominada TestInterface em Module1 digitando Interface TestInterface entre o Module e End Module declarações e em seguida, pressionando ENTER. O o Editor deCódigo recuos a Interfacepalavra-chave e adiciona um End Interfacededemonstrativo ao formulário um bloco de código.
Definir uma propriedade, métodoe evento para a interface , colocando o seguinte código entre o Interface e End Interface instruções:
Property Prop1() As Integer Sub Method1(ByVal X As Integer) Event Event1()
Implementation
Você pode perceber que a sintaxe usada para declarar membros de interface é diferente da sintaxe usada para declarar membros de classe . Essa diferença reflete o fato de que interfaces não podem conter código de implementação.
Para implementar a interface
Adicionar uma classe chamada ImplementationClass adicionando a seguinte demonstrativo para Module1, após a End Interface demonstrativo , mas antes o End Module demonstrativoe, em seguida, pressionando ENTER:
Class ImplementationClass
Se você estiver trabalhando dentro do ambientedo desenvolvimento integrado, o o Editor deCódigo fornece uma correspondência End Classdedemonstrativo quando você pressiona ENTER.
Adicionar o seguinte Implementsdedemonstrativo para ImplementationClass, que nomeia a interface de classe implementa:
Implements TestInterface
Quando listados separadamente de outros itens na parte superior de uma classe ou estrutura, o Implements demonstrativo indica que a classe ou estrutura implementa uma interface.
Se você estiver trabalhando dentro do ambientedo desenvolvimento integrado, o o Editor deCódigo implementa os membros da classe exigidos pelo TestInterface Quando você pressionar ENTER, e você pode ignorar a próxima etapa.
Se você não estiver trabalhando dentro do ambientede desenvolvimento integrado, você deve implementar todos os membros da interface MyInterface. Adicionar o seguinte código para ImplementationClass para implementar Event1, Method1, e Prop1:
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
O Implementsdedemonstrativo nomeia a interface e um membro de interface que estão sendo implementadas.
Concluir a definição de Prop1 , adicionando um campo de particular à classe armazenado o valor da propriedade :
' Holds the value of the property. Private pval As Integer
Retornar o valor de pval da propriedade obter acessador.
Return pval
Definir o valor de pval na propriedade definir acessador.
pval = value
Concluir a definição de Method1 , adicionando o código a seguir.
MsgBox("The X parameter for Method1 is " & X) RaiseEvent Event1()
Para teste a implementação da interface
-De direito clique em formulário de inicialização em seu projeto no Solution Explorere clique em Exibir Código. O editor exibe a classe do formuláriode inicialização. Por padrão, o formulário de inicialização é chamado Form1.
Adicionar o seguinte testInstanceocampo para o Form1classe:
Dim WithEvents testInstance As TestInterface
Declarando testInstance como WithEvents, o Form1 classe pode manipular eventos.
Adicionar o manipulador de evento a seguir para o Form1aclasse para manipular eventos gerados por testInstance:
Sub EventHandler() Handles testInstance.Event1 MsgBox("The event handler caught the event.") End Sub
Adicionar uma sub-rotina nomeada Test para o Form1aclasse para teste a implementação de classe:
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 implementa MyInterface, atribui essa instância para o testInstance campo, define uma propriedadee executa um método por meio da interface.
Adicionar o código para chamar o Testprocedimento a partir de Form1 Loadoprocedimento do seu formuláriode 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
Executar o Test procedimento pressionando F5. A mensagem "Prop1 foi definido como 9" é exibida. Depois de clicar em OK, a mensagem "O parâmetro de x para Method1 é de 5" é exibida. Clique em OKe a mensagem "O manipulador de evento pego o evento é exibida.
Consulte também
Referência
Declaração Interface (Visual Basic)