Sobrecarga
Sobrecarga de métodos
La sobrecarga de métodos en Java es una característica que permite tener varios métodos con el mismo nombre en una clase, siempre y cuando tengan diferentes parámetros de entrada.
Es decir, se puede tener varios métodos con el mismo nombre en una clase, siempre y cuando tengan diferentes cantidades o tipos de parámetros. Esto es útil para crear métodos más generales o flexibles.
Por ejemplo, podrías tener un método llamado "imprimir" que puede imprimir diferentes tipos de datos, como un número, una cadena o un objeto, dependiendo de los parámetros de entrada:
public void imprimir(int num){
System.out.println("El numero es: "+num);
}
public void imprimir(String texto){
System.out.println("El texto es: "+texto);
}
public void imprimir(Object obj){
System.out.println("El objeto es: "+obj);
}
En este ejemplo, todos los métodos tienen el mismo nombre "imprimir", pero tienen diferentes parámetros de entrada (int, String, Object) y por tanto son diferentes entre si y se pueden utilizar de forma independiente.
Es importante mencionar que la sobrecarga de métodos no se refiere a la sobreescritura de métodos, que es cuando una subclase tiene un método con el mismo nombre y firma que un método en su superclase, y proporciona una implementación diferente.
Aquí tienes algunos ejemplos de sobrecarga de métodos en Java:
Ejemplo 1: Sobrecarga con diferentes tipos de parámetros:
public class SobrecargaMetodos {
public int suma(int a, int b) {
return a + b;
}
public double suma(double a, double b) {
return a + b;
}
public static void main(String[] args) {
SobrecargaMetodos ejemplo = new SobrecargaMetodos();
int resultado1 = ejemplo.suma(5, 3); // Llamando al primer método
double resultado2 = ejemplo.suma(2.5, 3.7); // Llamando al segundo método
System.out.println("Resultado 1: " + resultado1);
System.out.println("Resultado 2: " + resultado2);
}
}
En este ejemplo, se han definido dos métodos llamados suma
, uno que toma dos enteros y otro que toma dos números de punto flotante (double).
Ejemplo 2: Sobrecarga con diferente cantidad de parámetros:
public class SobrecargaMetodos {
public int suma(int a, int b) {
return a + b;
}
public int suma(int a, int b, int c) {
return a + b + c;
}
public static void main(String[] args) {
SobrecargaMetodos ejemplo = new SobrecargaMetodos();
int resultado1 = ejemplo.suma(5, 3); // Llamando al primer método
int resultado2 = ejemplo.suma(2, 3, 4); // Llamando al segundo método
System.out.println("Resultado 1: " + resultado1);
System.out.println("Resultado 2: " + resultado2);
}
}
En este ejemplo, se han definido dos métodos llamados suma
, uno que toma dos enteros y otro que toma tres enteros.
Java utiliza la cantidad y los tipos de parámetros pasados para determinar cuál de los métodos sobrecargados se ejecutará en función de la llamada al método. La sobrecarga de métodos es útil cuando deseas que un método realice la misma operación en diferentes tipos de datos o con diferentes cantidades de datos.