Según (Froufe Quintas, 2000), Nos dice que es posible y a menudo deseable crear más de un método con el mismo nombre, pero con listas de parámetros distintas. A esto se le llama sobrecarga de método. Se sobrecarga un método siempre que se crea un método en una clase que ya tiene un método con el mismo nombre.
Ejemplo Desarrollado 01:
Utiliza la sobrecarga de método para sumar 2 y 3 quebrados.
Según (Chata) Algunos métodos en una clase pueden tener el mismo nombre.
Estos métodos deben contar con diferentes argumentos.
El compilador decide que método invocar comparando los argumentos.
Se generara un error si los métodos solo varían en el tipo de retorno.
Ejemplo Desarrollado 02:
Según (García de Jalón, y otros, 2000), Java permite métodos sobrecargados (overloaded), es decir, métodos distintos que tienen el mismo nombre, pero que se diferencian por el número y/o tipo de los argumentos.
A la hora de llamar a un método sobrecargado, Java sigue unas reglas para determinar el método concreto que debe llamar:
- Si existe el método cuyos argumentos se ajustan exactamente al tipo de los argumentos de la llamada (argumentos actuales), se llama ese método.
- Si no existe un método que se ajuste exactamente, se intenta promover los argumentos actuales al tipo inmediatamente superior (por ejemplo char a int, int a long, float a double, etc.) y se llama el método correspondiente.
- Si sólo existen métodos con argumentos de un tipo más restringido (por ejemplo, int en vez de long), el programador debe hacer un cast explícito en la llamada, responsabilizándose de esta manera de lo que pueda ocurrir.
- El valor de retorno no influye en la elección del método sobrecargado. En realidad es imposible saber desde el propio método lo que se va a hacer con él. No es posible crear dos métodos sobrecargados, es decir con el mismo nombre, que sólo difieran en el valor de retorno.
Diferente de la sobrecarga de métodos es la redefinición. Una clase puede redefinir (override) un método heredado de una superclase. Redefinir un método es dar una nueva definición.
En este caso el método debe tener exactamente los mismos argumentos en tipo y número que el método redefinido. Este tema se verá de nuevo al hablar de la herencia.
Ejemplos Propuestos:
De qué manera le darías solución con un Método sobrecargado. Resuélvelo según la teoría.
- Se tiene el objeto Carro, en la que se tiene que crear un método para cambiar Datos como el color y la marca. Pero qué pasaría si queremos cambiar la marca?
- Se quiere un programa que imprima listas de diferentes tipos tales como: Integer, Double y Character.
- Hacer una adición y sustracción tanto de 2 dígitos y 5 dígitos.
- Se tiene un colegio no se sabe quiénes hablan inglés , castellano o quechua, para ello se hace lo siguiente:
- 1 si habla inglés.
- 2,5 si habla castellano, y
- A si habla quechua.
- Mostrar tanto el sueldo semanal y el sueldo por horas. El sueldo semanal es 750$ y el sueldo por horas 50$
Conclusiones y Recomendación
Concluimos que la sobrecarga de métodos utilizada en programación, se utiliza para solucionar problemas iguales pero con diferente retorno o salida, así como lo podemos usar cuando hacemos nuestro código con diferentes métodos que requieren de sobrecarga.
Recomendaría usar sobrecarga de métodos ya que puedes crear un método que me realice diferentes funciones y así trabajar de manera más eficiente.
Bibliografía
- Chata, Á. (s.f.). Fundamentos de Java.
- Froufe Quintas, A. (2000). JAVA 2 Manual de usuario. Editorial Alfaomega-Rama: México.
- García de Jalón, J., Ignacio Rodríguez, J., Iñigo Mingo, Aitor Imaz, Brazález, A., Larzabal, A., . . . García, J. (2000). Aprenda Java como si estuviera en primero. Universidad de Navarra .
Cual es la diferencia en un tipo de sobrecarga ámbito y un tipo de sobrecarga argumento?
ResponderEliminar