justus, a implementação de classes no vb existe só que não do modo que é feito por exemplo em java. A funcionalidade é praticamente a mesma só que o vb não tem uma interface a implementar e sim outra classe que no caso chamaremos de interface.
Se aprofundar o assunto complica um pouco então vou tentar ser mais direto. Uma interface é um conjunto de propriedades e métodos declarados mas sem codificação.
Ela não é codificada justamente para que possa ser "implementada" em classes diversas. E em cada classe tratar como bem entender.
Um exemplo em que pode ser ilustrado isso é o ADO. O método "close()" de um objeto Connection é comum para qualquer banco de dados certo? Se vc abrir, access, txt, oracle, mssql, mysql, enfim, o método "close()" usa-se pra todos.
Imaginemos que lá tem a classe Oracle, mssql, access etc que cada uma das classes usa uma interface implementada chamada "close()". O "close()" do oracle vai ter internamente o comando EXIT, do mssql QUIT, do mysql TERMINATE, sei lá (usei exemplos esdrúxulos), e por aí vai. Só que tudo isso dentro da classe e o ADO só chama o "close()" para fechar a conexão entendeu?
Segue um exemplo:
Crie uma Classe chamada Animal só com isso:
Public Sub Move(ByVal Distance As Double)
End Sub
Public Sub Bite(ByVal What As Object)
End Sub
Crie uma outra classe chamada Pulga desta maneira:
Implements Animal
Public Sub Animal_Move(ByVal Distance As Double)
Debug.Print "A pulga se moveu " & Distance & " cm"
End Sub
Public Sub Animal_Bite(ByVal What As Object)
Debug.Print "A pulga mordeu um " & TypeName(What)
End Sub
Agora uma classe chamada jacare:
Implements Animal
Public Sub Animal_Move(ByVal Distance As Double)
Debug.Print "O jacaré se moveu " & Distance & " cm"
End Sub
Public Sub Animal_Bite(ByVal What As Object)
Debug.Print "O jacaré mordeu a " & TypeName(What)
End Sub
Num form crie um botão e coloque deste jeito:
Private Sub Command1_Click()
Dim objPulga As PULGA
Dim objJacare As JACARE
Dim anim As Animal
Set objPulga = New PULGA
Set objJacare = New JACARE
'a pulga mordendo o jacare
Set anim = objPulga
Call anim.Bite(objJacare)
'O jacare revidando
Set anim = objJacare
Call anim.Bite(objPulga)
' Os 2 se movendo
objPulga.Animal_Move (25)
objJacare.Animal_Move (125)
End Sub
observações:
1) Ao utilizar "Implements Animal" os métodos da interface são sempre NOMEDACLASSE_NOMEDOMETODO conforme exemplo:
ANIMAL_BITE
Se vc, dentro da classe implementada por exemplo PULGA, escrever "animal" e teclar CTRL+SPACE (aciona o intellisense) verá o método deste jeito.
2) Note que interface serve para múltiplas classes e posso tratar o método de um jeito para cada uma delas este é o conceito de polimorfismo. No vb não temos abstração propriamente dita então usamos Implements para ter algo parecido.
Se eu falei alguma besteira ou algo que os colegas não concordam sintam-se à vontade em opinar :)
Espero que tenha entendido.
at+