Demonstra Passo a passo: Criar e implementar interfaces
Interfaces descrevem as características de propriedades, métodos e eventos, mas deixe os detalhes da implementação até classes ou estruturas.
Esta explicação passo a passo demonstra como declarar e implementar uma interface.
Observação: |
---|
As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritas na Ajuda, dependendo das configurações ativas ou configurações de edição.Para alterar as configurações, escolher Importar e exportar configurações on the Ferramentas menu.Para obter mais informações, consulte Configurações do Visual Studio. |
Para definir uma interface
Abra um novo projeto de Aplicativo do Windows Visual Basic.
Adicione um novo módulo para o projeto, clicando em Adicionar módulo on the Projeto menu.
Nomeie o novo módulo Module1.vb e clicar Adicionar.O código para o novo módulo é exibido.
Definir uma interface denominada TestInterface dentro de Module1 digitando Interface TestInterface entre as Module e End Module instruções e pressionando ENTER. The Editor de código recua o Interface palavra-chave e adiciona um End Interface demonstrativo para formar um bloco de código.
Definir uma propriedade, método e 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()
Implementação
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 demonstrativo a seguir para Module1, depois que o End Interface demonstrativo mas antes de End Module demonstrativo e pressionando ENTER:
Class ImplementationClass
Se você estiver trabalhando dentro do ambiente de desenvolvimento integrado, a Editor de código fornece um correspondente End Class demonstrativo quando você pressiona ENTER.
Adicione o seguinte Implements demonstrativo para ImplementationClass, que nomeia a interface da classe implementa:
Implements TestInterface
Quando listado separadamente de outros itens na parte superior de uma classe ou estrutura, a Implements demonstrativo indica a classe ou estrutura implementa uma interface.
Se você estiver trabalhando dentro do ambiente de desenvolvimento integrado, a Editor de código implementa os membros de classe exigidos por TestInterface Quando você pressionar ENTER e ignore a próxima etapa.
Se você não estiver trabalhando dentro do ambiente de desenvolvimento integrado, você deve implementar todos os membros do interface MyInterface. Adicione 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
The Implements a demonstrativo nomeia a interface e o membro de interface que estão sendo implementadas.
Concluir a definição de Prop1 adicionando um campo particular à classe armazenado o valor da propriedade:
' Holds the value of the property. Private pval As Integer
Retornar o valor do pval no acessador get do propriedade.
Return pval
conjunto o valor de pval Define a propriedade acessador.
pval = value
Concluir a definição de Method1 adicionando o seguinte código.
MsgBox("The X parameter for Method1 is " & X) RaiseEvent Event1()
Para teste a implementação da interface
clicar com o botão direito do mouse no formulário de inicialização para seu projeto no O gerenciador de soluçõese clique em Exibir código.O editor exibe a classe de seu formulário de inicialização.Por padrão, o formulário de inicialização é chamado Form1.
Adicione o seguinte testInstance campo para o Form1 classe:
Dim WithEvents testInstance As TestInterface
Declarando testInstance sistema autônomo WithEvents, o Form1 classe pode manipular seus eventos.
Adicione o seguinte manipulador de eventos à Form1 classe para tratar eventos originados por testInstance:
Sub EventHandler() Handles testInstance.Event1 MsgBox("The event handler caught the event.") End Sub
Adicionar um sub-rotina nomeada Test para o 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
The Test procedimento cria uma instância da classe que implementa MyInterface, atribui essa instância para o testInstance campo, define uma propriedade e executa um método por meio da interface.
Adicione código para telefonar o Test procedimento a partir do Form1 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
Executar o Test procedimento pressionando F5. A mensagem "Prop1 foi definido como 9" é exibida.Após você clicar em OK, a mensagem "O parâmetro X de Method1 é 5" é exibida.clicar OK e a mensagem "O manipulador de eventos pega o evento" é exibida.
Consulte também
Tarefas
Como: Criar e implementar interfaces
Conceitos
Referência
Declaração Interface (Visual Basic)