Curso de VB II

Creación de objetos

Para crear una instancia de un objeto, usamos la sentencia Dim. La sintaxis general es como sigue:

Dim nombrevariable As [New] nombreclase

Aquí, nombrevariable es el nombre que utilizaremos para referirnos al objeto; sigue las reglas normales de los nombres de Visual Basic. Nombreclase es el nombre de la clase que queremos crear una instancia. Por ejemplo:

Dim MiCadena As MiString

Esta sentencia no crea en realidad una instancia de la clase MiString, sino que sólo crea una variable que puede referirse a una instancia. Para crear el objeto, hay que ejecutar:

Set MiCadena = New MiString

Si utilizamos la palabra reservada opcional New en la sentencia Dim, es innecesario utilizar la sentencia Set. Es decir, el siguiente código:

Dim MiCadena As New MiString

Tiene el mismo efecto que las dos sentencias anteriores:

¿Por qué entonces necesitarnos la sentencia Set? Hay dos casos. Uno es cuando, en lugar de declarar la variable del objeto como un tipo específico, llamado early binding [enlace temprano], usamos la palabra reservada Object y hacemos late binding [enlace tardío]. El enlace tardío requiere declarar la variable del objeto como tipo genérico Object, en lugar de cómo un tipo de clase específico, referenciando luego una clase específica con la palabra reservada Set:

Dim MiObjeto as Object

Set MiObjeto = New MiString

El segundo caso es cuando queremos cambiar el objeto referenciado por una variable. Supongamos que hemos ejecutado el siguiente código:

Dim MiCadena1 As New MiString

Dim MiCadena2 As MiString

Set MiCadena2 = MiCadena1

Tendremos dos variables, MiCadena1 y MiCadena2, que se refieren al mismo objeto. Esta técnica puede ser útil en algunas tareas de programación.

Los enlaces tardíos ralentizan de algún modo las cosas, pero aportan la flexibilidad añadida de ser capaces de utilizar la misma variable del objeto para diferentes tipos de objetos. Por ejemplo:

Dim MiObjeto As Object

Set MiObjeto = New MiString

.............

Set MiObjeto = New OtraClase

Trabajar con referencias a objetos se parece mucho a trabajar con variables normales, salvo por el uso de las palabras reservadas Set y New.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Ejemplo

Debemos crear un sencillo programa de demostración para mostrar la clase MiString.

Utilizaremos el mismo proyecto donde se ha creado la clase MiString (ya tiene un formulario en blanco). Añadiendo cinco controles Label, cinco controles Text Box, y un grupo de controles de tres Botones de Comando.

Establecer la propiedad Text de todas las Cajas de Texto como una cadena en blanco. Asignar rótulos a los tres botones de Comando como sigue:

Index 0. Procesar

Index 1: Limpiar

Index 2: Salir

Las cajas de texto contendrán, la cadena inicial, la cadena a insertar, la posición donde se insertará, el resultado y la longitud final.

La forma más sencilla y rápida de borrar todas las Cajas de Texto de un formulario es utilizando la sentencia For ... Each, y la colección Controls. Podemos explorar todos los controles de la lista; usando la palabra reservada Type0f, podemos determinar si cada control es una Caja de Texto. Si lo es, establecemos su propiedad Text como una cadena en blanco.


Inscríbete ahora y accede a 3 unidades gratis

Evalua el curso de VB II y accede a las 3 unidades gratis con acceso completo al aula virtual donde podrás disfrutar de la inestimable ayuda del tutor y una gran variedad de recursos como videotutoriales, ejercicios resueltos, foros, enlaces, bibliografía, etc....


Si desea obtener un acceso sin restricciones a los contenidos del curso de VB II y disfrutar de todas las herramientas del aula virtual (Videos explicativos streaming, acceso a los foros, chat, ejercicios resueltos, la ayuda del tutor, audioconferencia, estudio de grabación, test y actividades de autoevaluación, etc...) puede inscribirse completamente gratis y comenzar a realizar de forma inmediata el curso.