Inicio » Informática profesional. » Programación » Curso de VB II » 3 - Crear una clase (MiString)

Curso de VB II

3 - Crear una clase (MiString)

Crearemos una clase que almacene datos alfanuméricos y mejore el propio tipo de datos alfanumérico de Visual Basic aportando la capacidad de determinar la longitud de la cadena, además de insertar caracteres en la posición especificada dentro de la cadena. Llamaremos a la clase MiString.

Comenzaremos con el proyecto de demostración de la clase. Crear un nuevo proyecto Standard EXE. Ir al menú Proyecto è Agregar módulo de clase y seleccionar la utilidad Generador de clases de VB. Se presenta el panel de diálogo Generador de clases. Hay que seguir los siguientes pasos:

1. Pulsar el botón Agregar nueva clase de la barra de herramientas. Teclear "MiString" en la caja Nombre, Aceptar. La nueva clase se lista debajo del nombre del proyecto a la izquierda de la utilidad Generador de clases de VB.

2. Pulsar el botón Agregar nueva propiedad a la clase actual. El panel de diálogo propiedades se visualiza.

3. Introducir "Valor" en la caja Nombre y seleccionar String en la caja Tipo de datos. Pulsar en la caja ¿Propiedad predeterminada? para colocar una marca de verificación, y establecer la opción Propiedad pública. Aceptar.

4. Repetir los pasos 2 y 3 para añadir otra propiedad con el nombre "Longitud" y el tipo de dato Long. Para esta propiedad, no hay que marcar la opción ¿Propiedad predeterminada?.

5. Pulsar el botón Agregar nuevo método a la clase actual. Se presenta el panel de diálogo Generador de métodos.

6. Introducir "Insertar" en la caja Nombre

7. Pulsar el botón que tiene un +, a la derecha de la caja Argumentos. Se presenta el panel de diálogo Agregar Argumento.

8. Introducir "Txt" en la caja Nombre y seleccionar String como tipo de dato, aceptar.

9. Repetir los pasos 7 y 8 para añadir otro argumento con el nombre "Posicion" y el tipo de dato Long.

10. De vuelta al panel de diálogo Generador de métodos, cerrar el panel de diálogo y volver a la utilidad Generador de clases.

En la ventana Generador de clases, podemos usar las pestañas Métodos y Propiedades para ver los elementos que acabamos de añadir. Seleccionar Actualizar proyecto del menú Archivo o pulsar Ctrl+S para salvar al disco la clase recién creada y añadirla al proyecto. Finalmente, seleccionar Salir del menú Archivo para cerrar la utilidad.

La ventana Proyecto contiene ahora una sección denominada Módulos de clase, de la cual parte la clase MiString la cual tiene su correspondiente código. Éste es el código que fue generado por la utilidad Generador de clases en respuesta a la información que introdujimos. Conviene grabar el proyecto. Utilizar el nombre Crear clases tanto para el formulario como para el proyecto.

Tendremos que modificar el código. Las variables mvarValor y mvarLongitud se utilizan para almacenar los valores de las dos propiedades de la clase. Observar que se declaran como Private, por lo que sólo son accesibles por el código del módulo de clase.

Un procedimiento llamado Insertar toma un argumento de tipo String y un argumento de tipo Long, tal como especificarnos. Insertar está vacío por el momento, y tendremos que escribir el código para proveerle de funcionalidad. Este procedimiento representa un método de la clase MiString. Observar que ha sido declarado como Public, por lo que puede ser llamado desde fuera de la clase.

Dos procedimientos llamados Valor son especificados como procedimientos Property (uno es un procedimiento Get y el otro es Let). Un procedimiento Property Let es utilizado por el código fuera de la clase para establecer el valor de una propiedad, y un procedimiento Property Get es utilizado por el código fuera de la clase para recuperar el valor de una propiedad. El nombre de los procedimientos (en este caso, Valor) especifica el nombre de la propiedad.

Los procedimientos Property Get y Property Let proveen acceso a la propiedad Longitud.

¿Cómo operan los procedimientos de las propiedades? Cuando el código fuera de un objeto quiere establecer una propiedad, referenciará dicha propiedad al lado izquierdo de una sentencia de asignación. Esto produce que sea llamado el correspondiente procedimiento Property Let, siendo pasado el valor de la derecha de la sentencia de asignación como argumento del procedimiento. Por ejemplo, supongamos que hemos creado una instancia de la clase MiString llamada buf. Entonces estableceríamos su valor como sigue:

buf.Valor = «Visual Basic»

Cuando se ejecuta esta línea de código, el procedimiento Property Let para el valor propiedad se ejecuta, siendo pasado el valor "Visual Basic" como argumento del procedimiento. En este caso, el código del procedimiento Property Let asigna simplemente el valor pasado al procedimiento a la variable privada interna mvarValor, que se utiliza para almacenar la propiedad. La secuencia de eventos es similar para el procedimiento Property Get. Cuando el código tiene que recuperar el valor de la propiedad del objeto, referenciará la propiedad en el lado derecho de la sentencia de asignación. Por ejemplo:

Texto.Text = buf.Valor

Cuando se ejecuta esta línea de código, se ejecuta el correspondiente procedimiento Property Get. Los procedimientos Property Get son en realidad funciones, que devuelven un valor. En este caso, el código del procedimiento devuelve simplemente el valor almacenado en la variable privada interna donde se almacena el valor propiedad.

¿Cuál es el sentido de utilizar los procedimientos Property Get y Property Let en una clase? ¿Por qué no declarar simplemente una variable pública para cada propiedad, para que el código de fuera de la clase pueda acceder directamente a esa variable?. La razón para hacer las cosas de una manera que podría parecer innecesariamente complicada se debe a un principio que denominamos encapsulación.

Este principio dice que los datos internos y las operaciones de una clase deben aislarse tanto como sea posible del mundo exterior. Al requerir que este acceso a las propiedades de una clase sea hecho mediante los procedimientos de la propiedad, Visual Basic brinda al programador la oportunidad de proveer cualquier grado de encapsulación que se requiera.


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.