Anuncios Google

Métodos

Tutoriales Avanzados Homebrew

En ocasiones necesitamos hacer tareas repetitivas en nuestros programas, pero para nada resulta práctico pegar 50 líneas de código cada 100 líneas. Además de que llega un momento que ni nosotros sabemos que hicimos, resta rapidez a nuestro programa.
Para esto tenemos los métodos (llamados también funciones), para ayudarnos a automatizar esas tareas repetitivas.

Nota: Durante la entrega, usaré indistintamente las palabras método y función, para referirme a lo mismo.

¿Qué es una función?

Una función es un trozo de código separado del cuerpo principal, que realiza una tarea específica y devuelve un valor al cuerpo principal o a otra función que la invoque. Algunas ventajas de trabajar con funciones:

  • Un código más limpio
  • Posibilidad de modificar nuestro programa fácilmente (quitando/agregando más funciones)
  • Mayor facilidad al tratar de comprender el código (útil para reparar errores o comportamientos indeseados, por ejemplo)
  • Dividir el trabajo (para los que acostumbran organizarse en Equipos)

Declaración de métodos

Se procede de manera similar a lo que hemos visto ya en pasadas entregas:

Tipo_de_dato Nombre_Método(Parámetros)
{
//Bloque de código a ejecutar
 
     return Valor;
}

Donde:

  • Tipo_de_dato, es la clase de dato que nos regresará la función (los mismos vistos en la entrega de variables).
  • Nombre_Método, es el identificador de nuestra función (como si de una variable se tratara)
  • Parámetros, son datos que el método solicita al momento de ser invocado.
  • sentencia return, especifica el valor que nuestra función devolverá cuando termine la ejecución de su código.

Se deben tomar en cuenta las siguientes notas:

  • Si ponemos void como tipo de dato, la función no regresará ningún valor (en este caso, no se debe poner la sentencia return). En cualquier otro caso, debemos indicar un valor de retorno. Si no especificamos el tipo de dato de nuestra función, por omisión se tomará como entero (int).
  • Java es compatible con la sobrecarga de métodos. Esto significa que podemos tener varios métodos con el mismo identificador, pero deben diferir en el tipo de dato, en el tipo de dato de por lo menos uno de sus parámetros o en el número de los mismos (como decía mi abuelo: Es lo mismo, pero no es igual xD)
  • Una función puede no tener parámetros (se declara en este caso con los paréntesis vacíos)

Ejemplos

Veamos algunos sencillos ejemplos. Los podemos complicar tanto como nos sea posible ;)

//La clásica suma
int Suma(int x, int y)
{
     int z = x + y;
         return z; 
}
 
 
//Otra suma, sobrecargando la anterior
float Suma(float x, float y)
{
     return (x + y);
}
 
 
//Una función que no regresará nada
void Guardar_mensajes(String mensaje1, String mensaje2, String[] Guardar_aqui)
{
     Guardar_aqui[1] = mensaje1;
     Guardar_aqui[2] = mensaje2;
}
 
 
//Un método invocando a otros métodos xD
float multiplicación()
{
     return (Suma(5,9) * Suma(3.5,4.9999));
}
 
 
//mezclando tipos de datos
boolean comparar(int a, float b)
{
     if (a > b)
     {
          return true;
     }
 
     else
     {
          return false;
     }
}

De esos ejemplos podemos deducir lo siguiente:

  • Para invocar una función, sólo escribimos el identificador de la misma, indicando todos los parámetros que requiera.
  • Las variables que usemos como parámetros para nuestra función, pueden ser usadas libremente dentro de la misma sin necesidad de declararlas. Entender este sencillo concepto nos ayudará a crear métodos que realmente nos faciliten la labor de programar nuestros proyectos.
  • No es necesario declarar una variable dentro del método para luego retornarla.
  • Los parámetros pueden ser de cualquier tipo, incluso se pueden mezclar. Lo único que debemos tener en cuenta es que el valor regresado siempre debe coincidir con el tipo de dato de la función.
  • Puede haber más de un return en nuestro método. No por eso regresará varios valores, sino que regresará el valor de la primera sentencia return ejecutada (si el return estuviera a la mitad del código, se detendrá la ejecución del método). Esto último merece un ejemplo aclaratorio:
    int pruebas()
    {
         //Código aquí...
             return true;
         //Más código aquí...
             return false;
         //Más código xD
    }
     
    //La función nos devolverá true después de ejecutar el primer bloque de código, sin ejecutar el resto del código, ni pasar por el segundo return.
     

Hasta aquí la entrega sobre funciones. Hasta la próxima ;)

4.73684
Tu voto: Ninguno Votos totales: 4.7 (19 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Habrá más tutos?

Habrá más tutos?

PD: Gracias por los mismos!!

Mas tutos??

Espero que si hay mas tutos sean de android puro y duro, porque "Java dirigido a android" es java no mostrais ningun programa ni ejemplos usando esos elementos en adroid.

 

De todas formas muchas gracias. Un saludo.

Imagen de moikop

Claro que sí

Estan en construcción. Apenas sean terminados, los verás en portada ;)

Ah!

Ok, muchas gracias moikop.

PD: Te secuestaron de PSP xDDDD!

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.