Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Especifica uma ou mais interfaces, ou membros da interface, que devem ser implementados na definição de classe ou estrutura na qual aparece.
Sintaxe
Implements interfacename [, ...]
' -or-
Implements interfacename.interfacemember [, ...]
Partes
interfacename
Obrigatório Uma interface cujas propriedades, procedimentos e eventos devem ser implementados pelos membros correspondentes na classe ou estrutura.
interfacemember
Obrigatório O membro de uma interface que está sendo implementada.
Observações
Uma interface é uma coleção de protótipos que representam os membros (propriedades, procedimentos e eventos) que a interface encapsula. As interfaces contêm apenas as declarações para os membros; classes e estruturas implementam esses membros. Para obter mais informações, consulte Interfaces.
A Implements declaração deve seguir-se imediatamente à Class declaração ou Structure declaração.
Ao implementar uma interface, você deve implementar todos os membros declarados na interface. Omitir qualquer membro é considerado um erro de sintaxe. Para implementar um membro individual, especifique a palavra-chave Implements (que é separada da Implements instrução) quando declarar o membro na classe ou estrutura. Para obter mais informações, consulte Interfaces.
As classes podem usar implementações privadas de propriedades e procedimentos, mas esses membros são acessíveis somente convertendo uma instância da classe de implementação em uma variável declarada como sendo do tipo da interface.
Exemplo 1
O exemplo a seguir mostra como usar a Implements instrução para implementar membros de uma interface. Ele define uma interface nomeada 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
Observe que a classe customerInfo usa a Implements instrução em uma linha de código-fonte separada para indicar que a classe implementa todos os membros da ICustomerInfo interface. Em seguida, cada membro da classe usa a Implements palavra-chave como parte de sua declaração de membro para indicar que implementa esse membro da interface.
Exemplo 2
Os dois procedimentos a seguir mostram como você pode usar a interface implementada no exemplo anterior. Para testar a implementação, adicione esses procedimentos ao seu projeto e chame o testImplements procedimento.
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