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

  1. Abra um novo projeto de Aplicativo do Windows Visual Basic.

  2. Adicione um novo módulo para o projeto, clicando em Adicionar módulo on the Projeto menu.

  3. Nomeie o novo módulo Module1.vb e clicar Adicionar.O código para o novo módulo é exibido.

  4. 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.

  5. 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

  1. 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.

  2. 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.

  3. 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.

  4. 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
    
  5. 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

  1. 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.

  2. 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.

  3. 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
    
  4. 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.

  5. 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
    
  6. 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

Quando usar interfaces

Referência

Implementa Declaração

Declaração Interface (Visual Basic)

Declaração de evento

Outros recursos

Interfaces em Visual Basic