Sobrecarga de métodos en Java [con ejemplos]

Publicado: 2020-11-12

Java es un lenguaje versátil que sigue los conceptos de la Programación Orientada a Objetos. Muchas características de la programación orientada a objetos hacen que el código sea modular, reutilizable, flexible y fácil de depurar. Hay muchas características de la programación orientada a objetos, como herencia, polimorfismo, encapsulación y abstracción.

En este artículo, discutiremos la sobrecarga de métodos en Java, que es el tipo de polimorfismo.

Tabla de contenido

Polimorfismo

Polimorfismo significa la capacidad de aparecer en diferentes formas. Permite que el mismo método muestre diferentes comportamientos usando diferentes métodos. Hay dos tipos de polimorfismo: sobrecarga de métodos y anulación de métodos. La sobrecarga de métodos significa que varios métodos tienen el mismo nombre pero diferentes argumentos.

Aprenda a crear aplicaciones como Swiggy, Quora, IMDB y más

La anulación de métodos significa que la clase secundaria puede tener un método con el mismo nombre que la clase principal pero con una implementación diferente. Discutiremos la sobrecarga de métodos con más detalle en este artículo. Para la anulación de métodos, puede visitar upGrad y obtener información.

Sobrecarga de métodos en Java

La sobrecarga de métodos en Java es una de las características más útiles de un lenguaje orientado a objetos. Permite que una clase tenga múltiples métodos con el mismo nombre. La única diferencia que tienen estos métodos es la lista diferente de parámetros que se pasan a través de estos métodos.

Se puede entender en términos simples con un ejemplo simple. Una adición de clase tiene dos métodos llamados add(), un método tiene parámetros int a e int b, mientras que el otro tiene tres parámetros enteros, es decir, int a, int b e int c. Por lo tanto, se dice que el método add() está sobrecargado.

El método que se ejecutará dependerá del número de parámetros pasados ​​en la declaración de llamada al método. Para ilustrar, add(20,30) llamará al método add() que tiene dos parámetros, y add(10,20,30) llamará al método add con tres parámetros.

Diferentes formas de sobrecargar un método

La sobrecarga de métodos en Java se puede lograr de diferentes maneras. Como hemos entendido, es la lista de parámetros la que diferencia los dos métodos con el mismo nombre en Java. Las diferentes formas de sobrecarga de métodos en Java se pueden lograr variando la lista de parámetros de una de las siguientes maneras:

  1. Número de parámetros
  2. El tipo de datos de los parámetros.
  3. La secuencia de tipo de datos de los parámetros

El número de parámetros

Como queda claro por el nombre, habrá una cantidad diferente de parámetros en los métodos sobrecargados que decidirán qué método ejecutar al ver la instrucción de llamada al método. A continuación se muestra la sobrecarga de métodos en Java , donde varía la cantidad de parámetros.

Método 1: agregar (int, int)

Método 2: agregar (int, int, int)

La instrucción de llamada al método add(20,30) ejecutará el método1 y la instrucción de llamada al método add(10,20,30) ejecutará el método2.

El tipo de datos de los parámetros

En este tipo de sobrecarga de métodos en Java , los dos métodos Java de una clase tienen el mismo nombre y la cantidad de parámetros puede ser igual o diferente, pero el tipo de datos de los parámetros será diferente.

Método 1: agregar (int, int)

Método 2: añadir (int, float)

Método 3: agregar (flotar, flotar)

En los métodos anteriores, el nombre del método es el mismo, pero el tipo de datos de los parámetros es diferente. Entonces, la instrucción de llamada al método add(2, 5.5) ejecutará el método2. De manera similar, add(7.5, 10.25) ejecutará el método3.

La secuencia del tipo de datos de los parámetros

En este tipo de sobrecarga de métodos en Java , tanto el nombre del método como el número de parámetros es el mismo, pero la diferencia radica en la secuencia de tipos de datos de estos parámetros. A continuación se muestra el ejemplo de métodos sobrecargados:

Método 1: añadir (int, float)

Método 2: agregar (flotante, int)

Aquí, llamar a la declaración para agregar (100, 75.5) llamará al método1 para ejecutar, y agregar (55.25, 150) ejecutará el método2.

Por lo tanto, son los parámetros en la declaración de llamada los que deciden qué método sobrecargado se ejecutará.

Leer: Sobrecarga de métodos en Java

¿Por qué necesitamos la sobrecarga de métodos en Java?

Si el programador ha creado un método en Java para realizar alguna acción, pero luego, como parte del requisito, el programador quiere que el mismo método actúe en diferentes parámetros, entonces el codificador puede simplemente usar la función de sobrecarga de métodos en Java . Esto permitirá al programador crear los métodos para realizar funciones similares con el mismo nombre para que no tenga que recordar los nombres más adelante.

Conozcamos las ventajas de realizar la sobrecarga de métodos en Java.

Ventajas de realizar la sobrecarga de métodos en Java

A continuación se presentan algunas de las ventajas de la sobrecarga de métodos en Java :

  • Mejora la legibilidad del código escrito.
  • Añade limpieza al código escrito.
  • También se puede usar en constructores para que podamos crear diferentes objetos pasando diferentes datos.
  • Da a los programadores la flexibilidad de llamar a diferentes métodos con nombres similares.
  • Los métodos sobrecargados pueden tener diferentes tipos de devolución.

Debe leer: Carrera en Java

Reglas para la sobrecarga de métodos en Java

  • La primera regla es cambiar la firma del método. La firma del método se refiere al número de argumentos, la secuencia de parámetros y el tipo de datos de los parámetros.
  • Si solo cambiamos el tipo de retorno del método manteniendo el nombre del método y los argumentos iguales, entonces esto no será la sobrecarga del método sino que dará lugar a un error de compilación.

Puntos importantes sobre la sobrecarga de métodos en Java

  • Cualquier código escrito en Java no puede tener métodos con el mismo nombre. Si creamos 2 métodos con el mismo nombre en Java, arrojará un error de compilación.
  • Esto se puede lograr mediante la sobrecarga de métodos. La sobrecarga de métodos permite a los programadores escribir dos o más de dos métodos con el mismo nombre, pero listas de parámetros diferentes.
  • La sobrecarga de métodos en Java es similar a la sobrecarga de constructores. La única diferencia es que la sobrecarga de métodos ocurre para los métodos definidos en la clase, mientras que la sobrecarga del constructor es para los métodos constructores de la clase.
  • En la sobrecarga de métodos en Java, los métodos sobrecargados tienen una lista diferente de parámetros. No tiene nada que ver con el tipo de retorno del método. Como ejemplo; si dos métodos tienen el mismo nombre y la misma lista de parámetros, pero diferentes tipos de devolución, entonces esto no es una sobrecarga de métodos en Java , pero es un caso no válido.

Método 1 : int Add (flotante, flotante)

Método 2 : agregar flotante (flotante, flotante)

Este es el caso no válido de sobrecarga de métodos ya que ambos métodos Add() tienen el mismo nombre y la misma lista de parámetros.

A continuación se muestra el código que explica la sobrecarga del método en Java:

suma de clase{

privado en un;

int privado b;

int privado c;

int privado d;

complemento público int(int a, int b){

intc;

c=a+b;

volver c;

}

complemento público int(int a, float b){

intc;

c=a+b;

volver c;

}

int public add(flotar a, flotar b){

intc;

c=a+b;

volver c;

}

int public add(float a, int b, int c){

int d;

d=a+b+c;

volver d;

}

}

Principal de vacío estático público (String[]args)

{

// Creando el objeto de la clase en el método principal

suma obj1 = nueva suma ();

suma1=obj1.add(10,20);

sum2=obj1.add(10,55.5);

suma3=obj1.add(110.5,25.5);

sum4=obj1.add(10,20,30);

}

Lea también: Programas de patrones en Java

Conclusión

En este artículo, se discutió en detalle la sobrecarga de métodos en Java , explicando sus tipos, reglas y ventajas. El tema se explicó en profundidad con la ayuda de ejemplos. Háganos saber en los comentarios si tiene alguna duda sobre la sobrecarga en Java.

Si está interesado en obtener más información sobre Java, desarrollo de software de pila completa, consulte el Diploma PG de upGrad & IIIT-B en desarrollo de software de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, más de 9 proyectos. , y asignaciones, estado de ex alumnos de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.

Aterrice en el trabajo de sus sueños

UPGRAD Y DIPLOMA PG DE IIIT-BANGALORE EN DESARROLLO DE SOFTWARE
Aprende más