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 Particular (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 Interface (Visual Basic)