Programando con Xojo desde cero: módulos de clase y extensiones

Programando con Xojo desde cero: módulos de clase y extensiones

Seguimos con el Curso de Programación con Xojo… y como ya sabéis que es un entorno de desarrollo multiplataforma, nada mejor que seguir con el desarrollo de nuestro proyecto de ejemplo (Gastos Personales) esta vez… ¡bajo Linux!

Así es, los proyectos creados con Xojo pueden ser abiertos por el IDE desde cualquier plataforma compatible: macOS, Windows y Linux.

También podríamos desarrollar la aplicación en el IDE de macOS y ejecutarla en modo depuración en un equipo remoto de nuestra red local con otro sistema operativo: Windows y Linux. No está nada mal, ¿verdad?



Pero volviendo a lo que nos preocupa, en esta ocasión ampliaremos la aplicación para que la lista general nos muestre en una columna adicional el total acumulado para cada una de las categorías.

Como recordarás, cuando implementamos la lista jerárquica en el capítulo anterior, vimos cómo se agrupaban los gastos por categoría, de manera que puedes visualizar cada uno de ellos para ver todos los registros (elementos de gasto), así como el monto asociado. con cada uno de ellos.

Sin embargo, sería bueno poder ver cuál es el gasto acumulado para la categoría sin tener que explicar y sumar cada uno de los gastos. Y eso es lo que podéis ver en el vídeo que acompaña a este nuevo capítulo.

El tema importante aquí es que usaremos dos nuevos elementos provistos por el lenguaje de desarrollo Xojo para hacer esto. Uno de ellos es módulos y el segundo es extensiones de clase.

https://youtu.be/me6sr9hdjm4

Módulos en Xojo

Puedes pensar en Módulos como una herramienta proporcionada por el lenguaje de programación Xojo que nos permite crear nuestra propia "biblioteca" de funciones (métodos), propiedades, clases, otros módulos y, en definitiva, cualquier elemento soportado por el lenguaje.



Esto es importante porque crear estas bibliotecas o módulos nos da una enorme flexibilidad.

Por ejemplo, por un lado podemos indicar que todos los elementos añadidos al módulo tienen un alcance Global, lo que significa que podemos usarlos (invocarlos, en el caso de métodos; o acceder a ellos, si son propiedades), desde en cualquier otro lugar de la aplicación.

También implica que una biblioteca bien creada nos permitirá usarla una y otra vez en cualquier aplicación que desarrollemos sin tener que reescribir el mismo código una y otra vez.

Es decir, una vez que haya agregado la funcionalidad provista en la biblioteca, será suficiente simplemente incrustar el módulo en cualquier otra aplicación que desee crear... y usar esa funcionalidad.

Si desea obtener más información sobre qué son los módulos y cómo usarlos, le recomiendo que eche un vistazo a esta sección de la documentación en línea. 

extensiones de clase en Xojo

El segundo problema son las extensiones de clase. Bueno, déjame explicarte. A veces sucede que nos resultaría interesante agregar funcionalidad a una clase existente.

El problema es que puede que no seamos los desarrolladores originales de la clase en cuestión, lo que significa que no tenemos acceso al código fuente para poder modificar o “ampliar” su funcionalidad; tal y como ocurre, por ejemplo, con las clases que encuentras ya disponibles en el mismo Framework de Xojo, sin ir más lejos.

¿Cómo podemos hacer entonces en estos casos? Bueno, la respuesta está en el uso de la palabra clave "Extends" al principio de la definición de un nuevo método (por ejemplo, en un Módulo).


De esta forma le indicamos al compilador de Xojo que dicho método "extenderá" o "extenderá" la capacidad del tipo de datos que indicamos a continuación como primer parámetro.


Una vez creado, podremos usar este método usando la notación de puntos como si fuera un método agregado originalmente a la clase en cuestión.


Esto es algo que verás mucho más claro en el video que acompaña a este capítulo del curso; Entre otras cosas, porque esta es la técnica que utilizamos precisamente para calcular el total acumulado de todos los gastos de una misma categoría: añadimos un nuevo método en un módulo con "Extender" que recibe como primer parámetro una matriz de datos de escriba Expense (Recuerde que esta es la clase que creamos para agregar nuevos artículos de gastos).

Luego, el código del método solo necesita iterar a través de cada uno de los elementos de la matriz y agregar las diferentes cantidades, devolviendo el valor total como resultado de la llamada.

Como de costumbre, puede obtener más información sobre el " se extiende ”Palabra clave en la documentación en línea realbasic.

Intente crear su propio proyecto de muestra, agregando un módulo y uno o más métodos que amplíen las capacidades de varias clases existentes mediante la creación de nuevos métodos en el módulo.


Javier Rodriguez Ingeniero Xojo Twitter: @xojoes Facebook: http://facebook.com/xojoes/ Descarga la última versión de www.xojo.com Recursos Xojo en español: https://docs.xojo.com/spanish

Añade un comentario de Programando con Xojo desde cero: módulos de clase y extensiones
¡Comentario enviado con éxito! Lo revisaremos en las próximas horas.