Passando valores de variáveis para formulários com classe.
Uma das diretrizes da programação orientada a objetos - POO - diz que os objetos devem manter seus próprios valores internamente(localmente). O formulários também são objetos. Como tratamos as passagens de valores de variáveis para formulários ?
Como você passa valores de variáveis para formulários carregados ? Declarando as variáveis como sendo Globais ? Saiba que além de ferir a diretriz da POO isto não é nada elegante e pode induzir a erros de difícil localização. Como fazer então ?
O Visual Basic fornece uma maneira de fazer isto dentro das regras da OOP : usar as propriedades Let() e Get().
Obs: Leia o artigo : Criando Classes no Visual Basic
Para tornar mais claro o assunto vamos usar um exemplo: O caso é o seguinte:
Usando o método antigo você iria criar uma variável pública com o escopo a nível de aplicação. Iria armazenar o valor presente no formulário form1 nesta variável e a seguir iria ler o conteúdo da variável no formulário form2.
Como eu disse , pode funcionar , mas seu código estará mais propenso a erros.
Qual a outra alternativa ? A alternativa POO .
Vejamos como implementar esta solução:
No formulário form2 vamos incluir as seguintes propriedades/declarações :
|
código do formulário form2 |
Agora podemos atribuir o valor para a propriedade usando o seguinte código no formulário form1:
Private Sub
Command1_Click() |
Código
do formulário - form1 |
Veja abaixo o resultado do processamento:
Funciona assim:
Mais elegante não é mesmo?. Até a próxima...