Módulos y Funciones

¿QUÉ ES UN MÓDULO?

 

Un módulo provee un mecanismo para agrupar variables y funciones. Al ejecutar una aplicación generan un alcance global, donde sus variables son almacenadas. Este alcance se mantiene vivo durante todo el ciclo de vida de la aplicación. Los mismos:

 

  • Generan un alcance global.
  • Se definen con la palabra reservada: Module

 

EJEMPLO

Module moduleName {

 

}

 

¿QUÉ ES UNA FUNCIÓN?

 

Una función es un bloque de código autónomo que permite ejecutar sentencias de código. Cuando se ejecuta una función el control pasa al punto donde esta inicia. Una vez finalizada su ejecución, se devuelve el control al punto desde el que se hizo la llamada a la función. 

 

No se permite sobrecarga de funciones en un mismo módulo, es decir, mismo nombre de funciones con distintos parámetros. 

 

EJEMPLO:

Module miModulo {

Integer funcion1 (Integer num) {

return num

}

Double funcion1 (Double otroNum) {

return otroNum

}

}

 

VARIABLES DE MÓDULO

 

Pueden ser de tipo simple cómo Integer, String, Bool. O a su vez de tipo complejas como Array, Model o Map. Pueden ser accedidas y asignadas de forma estática. Para acceder a una variable de un módulo, se especifica el nombre de nombre del módulo, seguido de un punto y el nombre de la variable.

 

  • Tienen alcance global.
  • Pueden modificar su valor.
  • Se definen en los módulos y pueden ser de cualquier tipo de dato. 

 

EJEMPLO:

Module Salario {

Double porcentVacaciones

Bool esContratoMensual

Array<Integer> mesesContrato

Map<Persona> empleados

}

 

  • Pueden ser accedidas y asignadas de forma estática. 

 

EJEMPLO:

Salario.porcentVacaciones = 0.2

 

TIPOS DE FUNCIÓN

 

  1. Con Parámetro/s y Retorno
  2. Sin Parámetro/s y con Retorno
  3. Con Parámetro/s y sin Retorno
  4. Sin Parámetro/s y sin Retorno

 

Las funciones pueden tener cero, uno o más parámetros. Y la misma, puede o no tener un valor de retorno. La sobrecarga de funciones no está permitida, por lo que en un módulo no pueden existir dos funciones con el mismo nombre.

 

PARÁMETROS DE FUNCIÓN

 

Los parámetros de una función son un conjunto de argumentos, separados por comas y encerrados en paréntesis.

 

  • Para cada parámetro, se debe definir su tipo (simple o compuesto) y un nombre. Los parámetros se pasan por referencia.

 

EJEMPLO:

funcionSalarioBase(Integer aniosConsolidados){

//Bloque de código

}

funcionSalarioEmpleados(Integer aniosConsolidados, Array<Persona>

empleados){

//Bloque de código

}

 

  1. FUNCIONES CON RETORNO

 

Una función con retorno debe especificar:

 

○ El tipo de retorno.

○ Nombre de función.

○ Paréntesis con sus parámetros.

○ El cuerpo de la función que se define con llaves, donde se declaran las variables locales y se escriben las instrucciones a ejecutar.

 

El cuerpo de la función termina con la sentencia return que marca el final de dla función.

 

EJEMPLO:

Integer cuadradoDeUnNumero( Integer num) {

return num*num

}

 

Persona crearPersona( String name, Integer dni ) {

Persona p = Persona()

p.nombre = name

p.dni = dni

return p

}

 

Donde,

Model Persona {

String nombre

Integer dni

}

 

  1. FUNCIONES SIN RETORNO

 

Para las funciones SIN retorno se debe especificar la sentencia void, previo a la definición del

nombre de función.

 

EJEMPLO:

void procesarPagosSalarios( Array<Persona> empleados ) {

service.procesarPagos.call(empleados)

}

 

ACCESO A VARIABLES DENTRO DE UNA FUNCIÓN

 

Dentro del bloque de una función se pueden acceder a:

 

  • Las variables locales.
  • Las variables definidas en el módulo que contiene a la función o de otros módulos.
  • Las variables globales.

 

Module Salario {

Double porcentVacaciones

Integer salarioBase

Bool esContratoMensual

Map<Persona> empleados

Double obtenerSalarioBase(Integer aniosConsolidados) {

return (Salario.salarioBase + (aniosConsolidados * Salario.porcentVacaciones))

}

}

 

LLAMADA A FUNCIONES

 

Pueden ser invocadas de manera estática desde cualquier bloque de ejecución.

 

nombreModulo.nombreFuncion([parametros])

 

VINCULAR FUNCIONES A EVENTOS EN LA UI

 

¿Cómo asociarlos?

 

  1. Ir al UI Build, al layout de interés, y agrega o selecciona un componente visual.
  1. Al hacer click en el componente, ir a “Propiedades”, “Events”.

Según el componente se tendrán habilitados ciertos eventos, y según estos, el tipo de acción.

  1. Seleciona un tipo de evento.
  2. Selecciona un tipo de acción.
  3. Completa los campos que aparezcan.
  4. Click en “+ADD ACTION” y listo (:

Resumen:

  • Las funciones pueden o no recibir parámetros o retornar valores, ejecutan código, y pueden ser invocadas a través de eventos o en cualquier lugar de la App.
  • Se pueden asociar la acción de funciones a los distintos eventos que ocurren en los componentes visuales de un layout.

Si tenes dudas podes visitar nuestra sección de Academy , donde encontrarás todos los recursos necesarios para empezar a programar!