Compartilhar via


Instrução Implements

Especifica uma ou mais interfaces, ou membros de inteface, que devem ser implementadas na definição da classe ou estrutura onde aparece.

Implements interfacename [, ...]
-or-
Implements interfacename.interfacemember [, ...]

Partes

  • interfacename
    Obrigatório.Uma interface cujas propriedades, procedimentos, e eventos estão para ser implementados por membros correspondentes de classes ou estruturas.

  • interfacemember
    Obrigatório.O membro da interface que está sendo implementado.

Comentários

Uma interface é uma coleção de protótipos representando os membros (propriedades, procedimentos e eventos) que a interface encapsula.Interfaces contém unicamente as declaração para membros; classes e estruturas implementam esses membros.Para obter mais informações, consulte Interfaces (Visual Basic).

A declaração Implements deve seguir a declaração Class or Structure imediatamente.

Quando você implementa uma interface, você deve implementar todos os membros declarados na mesma.Omitir qualquer membro é considerado um erro de sintaxe.Para implementar um membro individual, você deve especificar a palavra chave Cláusula implements (Visual Basic) ( que é separada da declaração Implements) quando você declara o membro na classe ou estrutura.Para obter mais informações, consulte Interfaces (Visual Basic).

Classes podem usar implementações de propriedades e procedimentos Private (Visual Basic), mas esses membros são acessíveis somente chamando uma instância da classe implementada dentro de uma variável declarada com o tipo da interface.

Exemplo

O seguinte exemplo mostra como cusar a declaração Implements para implementar membros de uma interface.Ele define uma interface nomeada como ICustomerInfo com um evento, uma propriedade e um procedimento.A classe customerInfo implementa todos os membros definidos na interface.

Public Interface ICustomerInfo
    Event updateComplete()
    Property customerName() As String
    Sub updateCustomerStatus()
End Interface

Public Class customerInfo
    Implements ICustomerInfo
    ' Storage for the property value.
    Private customerNameValue As String
    Public Event updateComplete() Implements ICustomerInfo.updateComplete
    Public Property CustomerName() As String _
        Implements ICustomerInfo.customerName
        Get
            Return customerNameValue
        End Get
        Set(ByVal value As String)
            ' The value parameter is passed to the Set procedure
            ' when the contents of this property are modified.
            customerNameValue = value
        End Set
    End Property

    Public Sub updateCustomerStatus() _
        Implements ICustomerInfo.updateCustomerStatus
        ' Add code here to update the status of this account.
        ' Raise an event to indicate that this procedure is done.
        RaiseEvent updateComplete()
    End Sub
End Class

Note que a classe customerInfo usa a declaração Implements num código fonte separado para indicar que a classe implementa todos os membros da interface ICustomerInfo.Depois cada membro na classe usa a palavra chave Implements como parte de sua declaração de membros para indicar que cada um implementa o membro da interface.

Os próximos dois procedimentos mostram como você poderia usar a interface implementada no exemplo anterior.Para testar essa implementação, adicione esses procedimentos no seu projeto e chame o procedimento testImplements.

Public Sub testImplements()
    ' This procedure tests the interface implementation by
    ' creating an instance of the class that implements ICustomerInfo.
    Dim cust As ICustomerInfo = New customerInfo()
    ' Associate an event handler with the event that is raised by
    ' the cust object.
    AddHandler cust.updateComplete, AddressOf handleUpdateComplete
    ' Set the customerName Property
    cust.customerName = "Fred"
    ' Retrieve and display the customerName property.
    MsgBox("Customer name is: " & cust.customerName)
    ' Call the updateCustomerStatus procedure, which raises the
    ' updateComplete event.
    cust.updateCustomerStatus()
End Sub

Sub handleUpdateComplete()
    ' This is the event handler for the updateComplete event.
    MsgBox("Update is complete.")
End Sub

Consulte também

Referência

Cláusula implements (Visual Basic)

Instrução (Visual Basic) de interface.

Outros recursos

Interfaces (Visual Basic)