Cargando



Java - Modularización y Sobrecarga de Métodos

En este tutorial ahondaremos en la modularización y la sobrecarga de métodos de forma tal que podamos crear mejores programas en Java.


may 10 2014 21:37
Avanzado
may 15 2014 14:33
Al trabajar con Java la generación de programas pronto nos puede poner en la situación que tengamos que escribir muchas líneas de código para lograr nuestros objetivos y aunque esto no está mal, si lo está si la mayoría de este código es redundante.

Para evitar esto debemos hacer programas modulares, con lo cual evitaremos tener que estar reescribiendo las mismas rutinas una y otra vez, aquí también entra la sobrecarga de métodos, esta consiste en crear métodos del mismo nombre pero que reciben parámetros diferentes, de forma tal que podamos realizar operaciones en varios escenarios sin tener que estar creando diferentes nombres para los métodos.

Modularización de un Programa

Este concepto como lo mencionamos al inicio del tutorial corresponde a crear rutinas re-utilizables dentro de nuestro programa, con ello podemos cumplir una de las premisas de la programación orientada a objetos que es la re-usabilidad del código.

¿Cómo se logra?
Esta modularidad la logramos a través de la construcción de métodos lo más genéricos posibles de forma que podamos utilizarlos en diferentes instancias de nuestro programa e inclusive utilizarlos en otros programas, reduciendo de esta manera la cantidad de líneas de código que tenemos que escribir.


Al lograr esto podemos reducir los tiempos de desarrollo, mejorar la productividad y el mantenimiento se hace más sencillo, por ejemplo si encontramos un error en nuestro programa y está dentro de un método al corregirlo esta corrección aplicará a todas las partes donde se llame el método.

Sobrecarga de Métodos

La sobrecarga de métodos nos permite crear varios métodos con el mismo nombre pero que puedan recibir diferentes parámetros, con ello si tenemos varios casos, Java decidirá en función de los parámetros que reciban los métodos cual invocar.

Esto se muestra realmente útil cuando por ejemplo tenemos un método que espera valores int, pero también pueden ser valores double o inclusive por la cantidad de parámetros.

En el siguiente ejemplo vamos a hacer un programa donde calcularemos el valor mayor entre unos números dados, estos pueden ser int o double e inclusive vamos a cambiar el número de parámetros que se reciben. Veamos el código:

public class SobreCarga {
/** Método Principal */
public static void main(String[] args) {
// Invocamos el método max con parametros int
	 System.out.println("El maximo entre 3 y 4 es: "
	 + max(3, 4));
// Invocamos el método max con parametros double
	 System.out.println("El maximo entre 3.0 y 5.4 es: "
	 + max(3.0, 5.4));
// Invocamos el método max con 3 parametros int
	 System.out.println("El maximo entre 3.0, 5.4 y 10.14 es: "
	 + max(3.0, 5.4, 10.14));
}


public static int max(int num1, int num2){
if (num1 > num2)
return num1;
else
return num2;
}

public static double max(double num1, double num2){
if (num1 > num2)
return num1;
else
return num2;
}

public static double max(double num1, double num2, double num3){
return max(max(num1, num2), num3);
}

Vemos que en la sección en la que definimos los métodos tanto el que recibe valores int como el que recibe valores double son idénticos a excepción la definición de los parámetros que reciben y la mejor parte la tenemos en el método que recibe los 3 parámetros, ya que aquí reutilizamos nuestro código y hacemos un llamado del método max pero agrupamos dentro de otro llamado a max los dos primeros valores y el tercero aparte, con ello reutilizamos nuestro propio código.

Para finalizar el tutorial veamos el resultado que nos debe arrojar el código anterior por consola:


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X