Diferencias entre propiedades y variables en Visual Basic

Actualización: noviembre 2007

Tanto las variables como las propiedades representan valores a los que puede tener acceso. Sin embargo, existen diferencias en su almacenamiento e implementación.

Variables

Una variable se corresponde directamente con una ubicación de la memoria. Una variable se define con una única instrucción de declaración. Una variable puede ser una variable local, si está definida dentro de un procedimiento y sólo está disponible en dicho procedimiento, o puede ser una variable miembro, si se define en un módulo, una clase o una estructura, pero no dentro de un procedimiento. Una variable miembro también se denomina campo.

Propiedades

Una propiedad es un elemento de datos que se define en un módulo, una clase o una estructura. Una propiedad se define con un bloque de código comprendido entre las instrucciones Property y End Property. El bloque de código contiene un procedimiento Get, un procedimiento Set o ambos procedimientos. Estos procedimientos se denominan procedimientos de propiedades o descriptores de acceso de propiedades. Además de recuperar o almacenar el valor de una propiedad, también pueden llevar a cabo acciones personalizadas, como actualizar un contador de acceso.

Diferencias

En la tabla siguiente se muestran algunas diferencias importantes que existen entre las variables y propiedades.

Punto de diferencia

Variable

Propiedad

Declaración

Única instrucción de declaración

Serie de instrucciones en un bloque de código

Implementación

Única ubicación de almacenamiento

Código ejecutable (procedimientos de propiedades)

Almacenamiento

Directamente asociado con el valor de una variable

Normalmente dispone de un almacén interno que no está disponible fuera de la clase o el módulo que contiene la propiedad

El valor de la propiedad podría existir o no como un elemento almacenado 1

Código ejecutable

Ninguno

Debe tener al menos un procedimiento

Acceso de lectura y escritura

Acceso de lectura y escritura o de sólo lectura

Acceso de lectura y escritura, de sólo lectura o de sólo escritura

Acciones personalizadas (además de aceptar o devolver un valor)

No es posible

Se pueden llevar a cabo como parte del proceso de configuración o de recuperación del valor de una propiedad

1 A diferencia de una variable, es posible que el valor de una propiedad no se corresponda directamente con un único elemento de almacenamiento. El almacenamiento podría dividirse en partes por motivos de comodidad o seguridad, o el valor podría almacenarse en un formato cifrado. En estos casos, el procedimiento Get ensamblaría las partes o descifraría el valor almacenado, y el procedimiento Set cifraría el nuevo valor o lo dividiría en el almacenamiento fundamental. El valor de una propiedad podría ser efímero, como una hora del día, en cuyo caso el procedimiento Get lo calcularía sobre la marcha cada vez que se obtuviera acceso a la propiedad.

Vea también

Tareas

Cómo: Crear una propiedad

Cómo: Declarar una propiedad con niveles de acceso mixtos

Cómo: Llamar a un procedimiento de propiedad

Cómo: Declarar y llamar a una propiedad predeterminada en Visual Basic

Cómo: Establecer un valor en una propiedad

Cómo: Obtener un valor de una propiedad

Conceptos

Procedimientos de propiedad

Argumentos y parámetros de procedimiento

Referencia

Property (Instrucción)

Instrucción Dim (Visual Basic)