Sobrecarga de métodos
Parte de la sección Fundamentos del Journey de Java de Coddy. Lección 54 de 73.
En Java, la sobrecarga de métodos te permite definir varios métodos con el mismo nombre, pero con parámetros diferentes. Esto significa que puedes tener varios métodos que realizan una función similar, pero que operan con distintos tipos de datos o con un número diferente de argumentos.
La clave es que cada método sobrecargado debe tener una firma de método única. La firma del método está determinada por el nombre del método y el tipo y el orden de sus parámetros.
Estas son las reglas clave para la sobrecarga de métodos:
- Mismo nombre: Todos los métodos sobrecargados deben tener el mismo nombre.
- Parámetros diferentes: Cada versión del método debe tener un número diferente de parámetros, tipos de parámetros diferentes o ambas cosas.
- El tipo de retorno no es suficiente: los métodos sobrecargados no pueden diferenciarse únicamente por su tipo de retorno. Deben tener listas de parámetros diferentes.
Aquí tienes un ejemplo para ilustrar la sobrecarga de métodos:
public class MathUtils {
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
public static int add(int a, int b, int c) {
return a + b + c;
}
}En este ejemplo, tenemos tres métodos llamados add. El primero suma dos números enteros, el segundo suma dos números de doble precisión y el tercero suma tres números enteros.
Java determina qué método debe llamar en función de los argumentos que se pasan durante la llamada al método.
Cuando ningún método sobrecargado coincide exactamente con los tipos de los argumentos, Java elige aquel al que puede llegar mediante una conversión implícita de ampliación. Por ejemplo, con display(int a) y display(double a), la llamada display(5.0f) usa la versión double, porque un float se amplía a double, pero no puede convertirse en un int sin una conversión explícita.
La sobrecarga de métodos hace que el código sea más legible y reutilizable. En lugar de crear nombres diferentes para métodos que realizan tareas similares (por ejemplo, addInts, addDoubles, addThreeInts), puedes usar un único nombre, add, y dejar que el compilador elija el método adecuado según el contexto.
Recuerda: la sobrecarga requiere tipos o cantidades de parámetros diferentes, no solo nombres de parámetros o tipos de retorno diferentes.
Pruébalo tú mismo
Esta lección no incluye un desafío de código.
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloIncremento/decrementoIncremento/decremento posteriorAtajos aritméticosOperadores de comparaciónComparación de cadenas7Entrada y salida básicas
Métodos de System.outFormato de salidaClase ScannerRepaso: hasta 120Repaso: verdadero o falso10Métodos (Funciones)
Declaración de métodosParámetros de métodosTipos de retornoSobrecarga de métodosRepaso: función SigmaRepaso: función de validaciónMétodos void13Operaciones con cadenas
Métodos de cadenas, parte 1Métodos de cadenas, parte 2Formato de cadenasComparación de cadenas5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operadores lógicos, parte 48Aplicación de calculadora
Mensaje de bienvenidaObtención de números3Variables Parte 2
ConstantesConvenciones de nomenclaturaRepaso: inicializar variablesConversión de tipos Parte 1Conversión de tipos Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador ternarioRepaso - If ElseIf - Else anidadoPractica por tu cuenta: Compilador de Java online