Clases para usuarios de Visual Basic 6.0

Actualización: noviembre 2007

Las clases son las unidades de creación de una aplicación orientada a objetos. Una clase es una construcción de programación que representa un objeto en el sistema. Al diseñar una aplicación es necesario diseñar los objetos implicados, la información que contienen los objetos y las operaciones que pueden llevar a cabo los objetos. Para obtener más información sobre las clases y la programación orientada a objetos, vea Programación orientada a objetos en Visual Basic.

Módulos de clase

Visual Basic 6.0

Visual Basic 6.0 admite la definición de clases a través del módulo de clase. La definición de una clase se almacena en un tipo de archivo especial, el archivo .cls. Se define una clase en cada módulo de clase. Algunas definiciones de clases se incluyen en el archivo .cls y sólo se pueden editar a través del sistema de proyectos.

Visual Basic 2008

En Visual Basic 2008, una clase se define por Instrucción Class (Visual Basic), no por un nombre de archivo. Las clases en Visual Basic 2008 están definidas en los archivos de código fuente, los archivos .vb. Se pueden definir varias clases en un solo archivo. Toda la definición de clase se puede ver como texto sin formato en el código fuente.

Clases globales

Visual Basic 6.0

Cuando crea una nueva clase en Visual Basic 6.0, los valores permitidos de la propiedad Instancing incluyen GlobalSingleUse y GlobalMultiUse. Éstos indican que otros componentes pueden llamar a las propiedades y los métodos de la nueva clase como si fueran miembros compartidos. Se crea implícitamente una instancia de la clase la primera vez que se llama a uno de estos miembros.

Visual Basic 2008

Visual Basic 2008 no admite la propiedad Instancing. Visual Basic 2008 proporciona la misma funcionalidad al permitir la exposición de miembros de módulo estándar. Puede tener acceso a las propiedades y métodos compartidos mediante la instrucción Imports. Puede conseguir el efecto de GlobalMultiUse con el acceso de clase Public y el acceso del constructor apropiado.

Clases de datos

Visual Basic 6.0

Visual Basic 6.0 también admite las clases Data Source y Complex Data Consumer .

Visual Basic 2008

No hay ningún equivalente directo en Visual Basic 2008. Para obtener información sobre las clases que manipulan datos, vea Cómo: Conectarse a los datos de un objeto.

Miembros predeterminados

Visual Basic 6.0

En Visual Basic 6.0, puede especificar que un método o un miembro de datos en particular sea el miembro predeterminado de una clase.

Visual Basic 2008

En Visual Basic 2008, un miembro predeterminado de una clase o estructura sólo puede ser una propiedad que acepta uno o varios argumentos. Esto permite la interoperatividad con otros lenguajes de programación. Para obtener más información, vea Cómo: Declarar y llamar a una propiedad predeterminada en Visual Basic.

Duración de objetos

Visual Basic 6.0

La duración de un objeto se determinada mediante la creación y destrucción de la instancia del objeto. El programa determina el momento de creación del objeto que declara, pero destrucción implica un mecanismo más complejo.

En Visual Basic 6.0, cada instancia de objeto mantiene un recuento de referencia. Cuando se libera la última referencia a una instancia y el valor del recuento es cero, se destruye el objeto inmediatamente.

Visual Basic 2008

En Visual Basic 2008, no se llama necesariamente a un destructor en cuanto se libera la última referencia. Esto es porque el Common Language Runtime mantiene un árbol de referencias en lugar de recuentos de referencias particulares. El recolector de elementos no utilizados rastrea continuamente el árbol de referencias en segundo plano. Si encuentra un objeto o grupo de objetos que no tienen referencia de ningún código que se esté ejecutando actualmente, llama a los destructores de todos esos objetos. No se puede predecir el orden de esta destrucción ni el tiempo que llevará al recolector de elementos rastrear el árbol de referencias. Por lo tanto, la duración de un objeto es indeterminada. Para obtener más información, vea Duración de los objetos: cómo se crean y destruyen y Recolección de elementos no utilizados.

Opciones de actualización

El Asistente para actualización crea una actualización sencilla de módulos de clase efectuando cambios mínimos en el código. Además de los cambios mostrados anteriormente, los programadores de Visual Basic disponen de algunas construcciones nuevas entre las que elegir que resultan especialmente relevantes para la programación orientada a objetos. A continuación se enumeran algunas de ellas.

  • Constructores   Los constructores sustituyen a Class_Initialize de Visual Basic 6.0. Para obtener más información, consulte Cambios de Class_Initialize para usuarios de Visual Basic 6.0.

  • Propiedades indizadas predeterminadas   Las propiedades indizadas predeterminadas se utilizan a menudo en todo .NET Framework para obtener acceso a los elementos de las colecciones. Para obtener más información, consulte Cambios en las propiedades predeterminadas para usuarios de Visual Basic 6.0.

  • ReadOnly   En Visual Basic 6.0, una propiedad es de sólo lectura de forma implícita si no hay un procedimiento Get. Visual Basic 2008 necesita la palabra clave ReadOnly para declarar explícitamente este comportamiento. Para obtener más información, vea Property (Instrucción).

  • Enlaces en tiempo de ejecución   Dado que Visual Basic 6.0 proporciona de manera predeterminada enlaces en tiempo de ejecución, el modo más adecuado de actualizar el código sin errores es establecer Option Strict en Off. Al cambiar Option Strict a On, se fuerza la seguridad de tipos en tiempo de compilación, y pueden exponerse errores sutiles durante la compilación en lugar de en el tiempo de ejecución. Para obtener más información, vea Option Strict (Instrucción).

  • Sobrecarga de métodos   La sobrecarga de métodos reduce el número de miembros con nombres distintos de una clase. De este modo, la clase resulta más legible y más fácil de programar. Para obtener más información, consulte Cambios en los procedimientos para usuarios de Visual Basic 6.0.

  • Nombre de archivo   Visual Basic 6.0 requiere que el nombre de clase y el nombre de archivo coincidan. En Visual Basic 2008, el programador controla los dos y puede definir varias clases en un archivo de código fuente. El número de clases incluidas en un archivo depende generalmente del estándar de codificación.

  • ByRef   El valor predeterminado para los parámetros en Visual Basic 6.0 es ByRef, por lo que la actualización más segura es ByRef. Para obtener más información, vea ByVal.

  • Palabra clave return   En Visual Basic 6.0, el nombre de la función se utiliza como variable para devolver el valor de la función. Visual Basic 2008 proporciona la palabra clave explícita Return para devolver valores de funciones. Para obtener más información, vea Instrucción Return (Visual Basic).

  • Sobrecarga de operadores   Ahora puede definir el significado de la suma (+), resta (-) y otros operadores para las clases que defina. Para obtener más información, vea Operator (Instrucción).

  • Nuevos operadores   El operador += puede acortar y simplificar una línea de código. Para obtener más información, vea Operadores aritméticos (Visual Basic).

  • Definición insertada de nuevos valores   La sintaxis en Visual Basic 2008 permite declarar y establecer el valor de una nueva variable en una sola línea de código. Esto significa que puede forzar las restricciones de datos desde el momento en que se crea una instancia del objeto. Para obtener más información, vea Instrucción Dim (Visual Basic).

Rescribir el código conlleva riesgos. Siempre que se modifica el código, debe comprobarse de nuevo. Además, algunas palabras clave en Visual Basic 2008 no actúan exactamente igual que en Visual Basic 6.0. Para obtener más información, vea Actualizar aplicaciones creadas en versiones anteriores de Visual Basic.

Vea también

Conceptos

Enlace en tiempo de compilación y en tiempo de ejecución

Cambios de Class_Initialize para usuarios de Visual Basic 6.0

Referencia

Structure (Instrucción)

Property (Instrucción)

Option Strict (Instrucción)

Instrucción Return (Visual Basic)

'ByVal' y 'ByRef' no se pueden combinar

ByRef

Otros recursos

Crear y utilizar objetos

Descripción de las clases