Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As interfaces descrevem as características de propriedades, métodos e eventos, mas deixam os detalhes da implementação em estruturas ou classes.
Este passo a passo demonstra como declarar e implementar uma interface.
Observação
Este passo a passo não fornece informações sobre como criar uma interface do usuário.
Observação
Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você tem e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Personalizando o IDE.
Para definir uma interface
Abra um novo projeto do Aplicativo Windows do Visual Basic.
Adicione um novo módulo ao projeto clicando em Adicionar Módulo no menu Projeto .
Nomeie o novo módulo
Module1.vbe clique em Adicionar. O código do novo módulo é exibido.Defina uma interface nomeada
TestInterfacedentro deModule1digitandoInterface TestInterfaceentre as instruçõesModuleeEnd Module, e então pressionando ENTER. O Editor de Código indenta a palavra-chaveInterfacee adiciona uma declaraçãoEnd Interfacepara formar um bloco de código.Defina uma propriedade, um método e um evento para a interface colocando o seguinte código entre as instruções
InterfaceeEnd Interface.Property Prop1() As Integer Sub Method1(ByVal X As Integer) Event Event1()
Implementação
Você pode notar que a sintaxe usada para declarar membros da interface é diferente da sintaxe usada para declarar membros da classe. Essa diferença reflete o fato de que as interfaces não podem conter código de implementação.
Para implementar a interface
Adicione uma classe nomeada
ImplementationClassadicionando a seguinte instrução,Module1após aEnd Interfaceinstrução, mas antes daEnd Moduleinstrução e pressionando ENTER:Class ImplementationClassSe você estiver trabalhando dentro do ambiente de desenvolvimento integrado, o Editor de Código fornecerá uma instrução correspondente
End Classquando você pressionar ENTER.Adicione a seguinte instrução
ImplementsaImplementationClass, que nomeia a interface que a classe implementa.Implements TestInterfaceQuando listada separadamente de outros itens na parte superior de uma classe ou estrutura, a
Implementsinstrução indica que a classe ou estrutura implementa uma interface.Se você estiver trabalhando dentro do ambiente de desenvolvimento integrado, o Editor de Código implementará os membros de classe exigidos por
TestInterfaceao pressionar ENTER, e assim poderá ignorar o próximo passo.Se você não estiver trabalhando no ambiente de desenvolvimento integrado, deverá implementar todos os membros da interface
MyInterface. Adicione o seguinte código emImplementationClasspara implementarEvent1,Method1eProp1: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 PropertyA instrução
Implementsindica o nome da interface e do membro da interface que estão sendo implementados.Conclua a definição de
Prop1adicionando um campo privado à classe que armazene o valor da propriedade.' Holds the value of the property. Private pval As IntegerRetorne o valor de
pvaldo acessador get da propriedade.Return pvalDefina o valor de
pvaldo acessador do conjunto de propriedades.pval = valueConclua a definição de
Method1adicionando o código a seguir.MsgBox("The X parameter for Method1 is " & X) RaiseEvent Event1()
Para testar a implementação da interface
Clique com o botão direito do mouse no formulário de inicialização do projeto no Gerenciador de Soluções e clique em Exibir Código. O editor de código exibe a classe associada ao seu formulário de inicialização. Por padrão, o formulário de inicialização é chamado
Form1.Adicione o seguinte
testInstancecampo àForm1classe:Dim WithEvents testInstance As TestInterfaceAo declarar
testInstancecomoWithEvents, a classeForm1pode lidar com seus eventos.Adicione o seguinte manipulador de eventos à
Form1classe para manipular os eventos gerados portestInstance:Sub EventHandler() Handles testInstance.Event1 MsgBox("The event handler caught the event.") End SubAdicione uma sub-rotina nomeada
TestàForm1classe 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 SubO
Testprocedimento cria uma instância da classe que implementaMyInterface, atribui essa instância aotestInstancecampo, define uma propriedade e executa um método por meio da interface.Adicione código para chamar o procedimento
Testa partir do procedimentoForm1 Loaddo 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 SubExecute o
Testprocedimento pressionando F5. A mensagem "Prop1 foi definida como 9" é exibida. Depois de clicar em OK, a mensagem "O parâmetro X para Method1 é 5" será exibida. Clique em OK e a mensagem "O manipulador de eventos pegou o evento" é exibida.