|
Métodos PropiosEste último subpanel del Modelo es el indicado para definir sus propios métodos en Java (también llamadas funciones o subrutinas).
Cuando cree una nueva página en este panel con el nombre, digamos, “MiMetodo” EJS le proporcionará una página con el esqueleto inicial de su método.
- El nombre para el método puede ser el que desee pero ha de tener en cuenta las convenciones que se explicaron en la creación de variables.
- Con el término accesibilidad nos referimos a qué partes de la simulación podrán hacer uso de este método. Si el método es declarado public entonces será universalmente visible y puede ser usado desde cualquier parte de la simulación e incluso desde fuera de la simulación utilizando JavaScript. Si el método no es declarado público (ya sea utilizando la palabra private o simplemente nada) entonces el método sólo podrá ser utilizado desde el modelo. De hecho no hay una razón poderosa para no hacer todos nuestros métodos públicos, salvo quizá evitar confusión entre usuarios externos que se encuentren ante una demasiado amplia oferta de métodos de los que desconozcan su funcionamiento.
- El tipo de valor de salida es el tipo de aquello que devuelva la función. Si la función no devielve ningún valor se indicará con el tipo especial void. Si devuelve un valor habrá que decir de qué tipo Java es, ya sea simple o compuesto. En tal caso el código de nuestro método tendrá que terminar con una sentencia return que indique el valor devuelto.
- Los parámetros se indican con una lista separada por comas de parejas tipo-nombre que declaran variables locales que podrán utilizarse a lo largo del método. Esta lista se escribe entre paréntesis justo después del nombre del método. Si el método no necesita parámetros de entrada la lista estará vacía.
Veamos un ejemplo de dos métodos. Tenga en cuenta que puede definir más de un método en cada una de las páginas. El primero calcula la exponencial del coseno de un valor doble mientras que el segundo calcula el conjugado de un valor complejo que se especifica con un vector de dos entradas, una para la parte real y otra para la parte compleja:
double expCos (double x) { return Math.exp (Math.cos(x)); }
double[] conjugate (double[] complex) {
|