Junior
¿Qué debe distinguir a dos métodos para que podamos considerarlos sobrecargados?
sobes.tech AI
Respuesta de la IA
Para que dos métodos se consideren sobrecargados, deben cumplir las siguientes condiciones:
- Mismo nombre del método. El nombre de los métodos debe ser idéntico.
- Firma del método diferente. La firma del método incluye el nombre del método y la lista de tipos de parámetros (su cantidad, orden y tipos). El tipo de retorno del método no forma parte de la firma y no afecta la capacidad de sobrecarga.
Ejemplos:
class Example {
void print(int num) { // Firma: print(int)
System.out.println(num);
}
void print(String text) { // Firma: print(String)
System.out.println(text);
}
void print(int num, String text) { // Firma: print(int, String)
System.out.println(num + " " + text);
}
// Esto no es sobrecarga, ya que la firma print(int) se repite
// int print(int num) {
// return num;
// }
}
Tabla que ilustra ejemplos de sobrecarga:
| Nombre del método | Tipos de parámetros | ¿Mismos / Diferentes métodos? | ¿Es sobrecarga? | Razón |
|---|---|---|---|---|
calc |
(int, int) |
Diferentes | Sí | Firma diferente (cantidad y tipos de parámetros) |
calc |
(double, double) |
Diferentes | Sí | Firma diferente (tipos de parámetros) |
calc |
(int, int, int) |
Diferentes | Sí | Firma diferente (cantidad de parámetros) |
calc |
() |
Diferentes | Sí | Firma diferente (cantidad de parámetros) |
calc |
(int, int) |
Mismos | No | Misma firma |
calculate |
(int, int) |
Diferentes | No | Nombre del método diferente |