Compartilhar via


Diferenças entre propriedades e variáveis no Visual Basic

Variáveis e propriedades representam valores que você pode acessar. No entanto, há diferenças no armazenamento e na implementação.

Variáveis

Uma variável corresponde diretamente a um local de memória. Você define uma variável com uma única instrução de declaração. Uma variável pode ser uma variável local, definida dentro de um procedimento e disponível somente dentro desse procedimento, ou pode ser uma variável de membro, definida em um módulo, classe ou estrutura, mas não dentro de qualquer procedimento. Uma variável de membro também é chamada de campo.

Propriedades

Uma propriedade é um elemento de dados definido em um módulo, classe ou estrutura. Você define uma propriedade com um bloco de código entre as instruções Property e End Property. O bloco de código contém um procedimento Get, um procedimento Set ou ambos. Esses procedimentos são chamados de procedimentos de propriedade ou acessadores de propriedade. Além de recuperar ou armazenar o valor da propriedade, eles também podem executar ações personalizadas, como atualizar um contador de acesso.

Diferenças

A tabela a seguir mostra algumas diferenças importantes entre variáveis e propriedades.

Ponto de diferença Variável Propriedade
Declaração Instrução de declaração única Série de instruções em um bloco de código
Implementação Local do armazenamento único Código executável (procedimentos de propriedade)
Armazenamento Diretamente associado ao valor da variável Normalmente, o armazenamento interno não está disponível fora da classe ou módulo que contém a propriedade

O valor da propriedade pode ou não existir como um elemento armazenado 1
Código executável Nenhum Deve ter pelo menos um procedimento
Acesso de leitura e gravação Leitura/gravação ou somente leitura Leitura/gravação, somente leitura ou somente gravação
Ações personalizadas (além de aceitar ou retornar valor) Impossível Pode ser executado como parte da configuração ou recuperação do valor da propriedade

1 Ao contrário de uma variável, o valor de uma propriedade pode não corresponder diretamente a um único item de armazenamento. O armazenamento pode ser dividido em partes por conveniência ou segurança, ou o valor pode ser armazenado em um formulário criptografado. Nesses casos, o procedimento Get montaria as partes ou descriptografaria o valor armazenado e o procedimento Set criptografaria o novo valor ou o dividiria no armazenamento constituinte. Um valor de propriedade pode ser efêmero, como a hora do dia, nesse caso, o procedimento Get o calcularia em tempo real sempre que você acessasse a propriedade.

Confira também