jueves, junio 22, 2006

 

Oops I

Me olvidaba.
En este caso Oop no son iniciales de nada "Orientado a Objetos" solamente significa que me estaba olvidando.
En VisualBASIC, cada clase se guarda en su propio archivo de disco. Para ello usa como nombre de archivo el que le hemos dado a la clase y como extensión Cls (de Class obvio).
Idea.
Cuando empezamos a escribir nuestras propias clases y le vamos tomando la mano a la filosofía de la programación orientada a objetos empezamos a hacerlas más genéricas o sea, que se pueden usar en un mayor número de oportunidades. Esto es lo que decía al principio de reutilización.
En este caso no es mala idea guardarlas en una carpeta aparte que podemos llamar con algún nombre brillante, por ejemplo; "Biblioteca de clases", y las cargamos desde allí en futuros proyectos.
¿No traen problemas las versiones?.
¿Puedo meter las clases en una DLL?.
Bueno che, esto es una idea nada más. Ya vamos a ir viendo esos temitas.
Hasta la próxima.

martes, junio 20, 2006

 

Implementaciones I

Implementación en Visual BASIC.
Bueno después de tanta teoría creo que vendría bien algo de práctica.
Como ya mencioné en varias oportunidades, la tecnología de objetos abarca una gran variedad de aspectos. La estrategia que aborde en estos artículos es ir atendiendo a tales aspectos en forma paulatina a medida que se vayan haciendo necesarios. Los que saben dicen que esta técnica se llama aprendizaje significativo.
Entonces, debido a que es nuestra primera aproximación a alguna forma de implementación de clases y objetos, comenzaremos modestamente viendo clases y objetos en VisualBASIC.
La gente que "sabe" siempre dijo que VisualBASIC no esta hecho para trabajar con objetos pero, desgraciadamente me enteré de ello después de muchos años de trabajar con objetos en VisualBASIC, deberían haberme avisado antes.
No es un lenguaje orientado a objetos, eso es verdad, pero hasta el momento nunca tuve problemas para implementar, incluso, hasta algunos patrones de diseño bastantes complejos.
Una Clase.
Dada la interfaz amigable del lenguaje que nos ocupa, resulta sencillo crear una clase. Para ello debemos ir a la opción de menú Proyecto y en ella seleccionar Agregar módulo de clase.
Nos presentará en nuestra pantalla entonces un cuadro de diálogo con algunas opciones y de ellas nosotros eligiremos la primera, Módulo de clase.
Entonces se agregará una nueva carpeta en el explorar del proyecto identificada con la etiqueta Módulos de clase. En esta carpeta se iran incorporando las otras clases que contenga nuestro proyecto.
Primera cosa rara, solamente se muestra la ventana de código para una clase. Esto ocurre porque una clase no tiene interfaz gráfica como los formularios.
En la ventana de propiedades veremos tres propiedades, por ahora nos interesaremos solamente por la primera, el nombre. Siempre a las clases debemos ponerle un nombre que sea representativo del conjunto de objetos del cuál será la plantilla. Así, si la clase será la plantilla de un grupo de personas es lógico que la misma se llame Persona.
Ya está, tenemos una clase.
¿Qué hace?. Nada. Bueno paciencia vamos de a poco.
Los atributos de nuestra clase.
Hay dos formas de que una clase tenga atributos. Una fácil y una un poco más complicada.
Como siempre la solución fácil es la más limitada. Empezaremos con la fácil.
Supongamos que toda persona tendrá un apellido y un nombre, entonces en la ventana de código de la clase en la sección de declaraciones definiremos dos variables de la siguiente manera:
Public Apellido As String
Public Nombre As String
Listo, nuestra clase ya tiene dos atributos a los cuales podemos acceder desde afuera. ¿Porqué?. Todo lo que en una clase declaremos como público, ya sean variables, funciones o procedimientos, formarán parte de la interfaz de la misma.
¿Qué es una interfaz?.
Una interfaz exporta la funcionalidad de, en este caso, la clase o sea, define para qué puede usarse la clase desde afuera.
Todo lo que en la clase sea declarado como privado no habrá manera que sea accedido desde afuera de ella.
Instanciación de nuestra clase.
Recordemos que la clase es la plantilla de un conjunto de posibles objetos, un programa usará un objeto específico de determinada clase, Uff, se está complicando.
En el programa que usa objetos de la clase Persona debemos crear instancias de objetos Persona, para ello primero declaramos variables del tipo de clase que vamos a utilizar y después instanciamos el objeto.
En código quedaría algo así:
Dim objPers As Persona 'Crea al objeto
Set objPers = New Persona 'Instancia al objeto
Ahora sí ya podemos usar el objeto objPers, por ejemplo:
objPers.Apellido = "PEREZ"
Después de poner el nombre de la instancia del objeto y el operador punto, se despliegan automáticamente todos los miembros de la interfaz.
Bueno no hemos creado algo que figure en la historia de la informática pero es nuestro primer acercamiento práctico y creo que seguir avanzando, por ahora, solamente incrementará las horas en el Analista.
Obviamente queda mucho por ver pero eso es solamente un pretexto para seguirla.
Un abrazo.

domingo, junio 11, 2006

 

Objetos III

Veamos algunas iniciales.
Bueno.
Acá estamos otra vez.
Obviamente vamos a seguir con los objetos y ya que vimos algunas cosas veamos un poco mas.
En toda esta terminología que se usa en el universo de los objetos hay una que suena mucho y es UML.
¿Qué es UML?.
Un lenguaje, de hecho UML significa Lenguaje Unificado de Modelado, claro que en inglés.
Expliquemos un poquito más. En toda actividad es importante lograr un entendimiento entre las personas que la desarrollan, ese es uno de los objetivos de UML. Que todas las personas que usamos esta tecnología nos expresemos de la misma manera.
Así UML determina una serie de definiciones y símbolos que cualquier desarrollador debe conocer para poder comunicarse con otros desarrolladores.
Además también determina reglas para combinar esos símbolos en determinados diagramas que permiten entonces alcanzar una gran expresividad en el momento de diseñar aplicaciones.
Estos diagramas abarcan desde la estructura de un sistema (clases y subsitemas que lo componen), al comportamiento (o sea, como se hace internamente lo que se debe hacer) sin dejar de lado otras cuestiones como la configuración y distribución (o sea, las computadoras que harán de servidores y de clientes en la aplicación, los nodos).
Ya que estamos esa es otra cualidad de los objetos, en una misma entidad conjugan estructura de datos y comportamiento. Como ven nos vamos poniendo técnicos
¿Es importante conocer UML?.
Si. Aca cabe hacer una aclaración es importante para poder lograr expresarnos, organizarnos y entendernos con otros pero no es suficiente saber UML para poder diseñar orientado a objetos.
Hacen falta algunos conocimientos más como ser alguna metodología de diseño como puede ser OMT (un poco antigua), RUP (mas nueva) y algunas cositas mas como ser patrones, etc..
Bueno como ven son muchas cosas y las vamos a ir viendo de a poco.
Saludos para todos y el que lo desea que escriba sobre cualquier tema de los que promueven a este blog.
Hasta la próxima.

This page is powered by Blogger. Isn't yours?