Tecnología

Inicio

Las ventajas y desventajas de la sobrecarga de métodos en Java

Los métodos sobrecargados son los métodos de la misma clase que comparten el mismo nombre pero aceptan diferentes tipos de variables como argumentos. Por ejemplo, una clase puede contener dos "add" métodos diferentes: una que acepta dos valores dobles, "ADD (dobles un doble B)," y uno que acepta dos valores enteros, "add (int a, int b). " El equipo decide automáticamente qué método a llamar en tiempo de ejecución en base a los tipos de variables que se pasan al método.

Flexibilidad

Los métodos sobrecargados dar a los programadores la flexibilidad para llamar a un método similar para diferentes tipos de datos. Si está trabajando en un programa de matemáticas, por ejemplo, podría utilizar la sobrecarga de crear varias clases de "multiplicar", cada uno de los cuales multiplica un número diferente de tipo de argumento: el más simple "multiplicar (int a, int b)" multiplica dos números enteros; el método más complicado "multiplicar (double a, int b, int c)" se multiplica por una doble dos enteros - que entonces podríamos llamar "multiplicar" en cualquier combinación de las variables que ha creado un método sobrecargado y recibir el resultado correcto.

constructores

La sobrecarga también se utiliza en constructores para crear nuevos objetos dados diferentes cantidades de datos. Por ejemplo, podría utilizar la sobrecarga de crear tres constructores diferentes para un objeto "Casa", con un número de casa, nombre de la calle y las variables de color. El constructor más simple "Casa ()" no tiene argumentos y crea una casa con un valor predeterminado o las variables vacías. Un constructor más compleja ", Casa (int houseNumber, Cadena StreetName)," crea una casa con el número especificado casa y nombre de la calle, sino un defecto o color vacía. El constructor más compleja, "Casa (int houseNumber, Cadena StreetName, String color)," crea una casa con toda la información especificada, sin dejar nada por defecto. A continuación, puede crear un objeto de la casa sobre la base de la información disponible en la actualidad, con la información disponible en blanco o en caso de incumplimiento.

Las referencias ambiguas

Los métodos sobrecargados deben utilizar diferentes números o tipos de argumentos para evitar la ambigüedad. Si crea dos métodos en la misma clase que tienen el mismo nombre y aceptar dos enteros como argumentos, el compilador de Java será incapaz de distinguir entre los dos, incluso si las variables de entrada tienen diferentes nombres. Por ejemplo, el método de "add (int a, int b)" no puede existir en la misma clase que el método de "add (int c, d int)."

Tipos de valores devueltos

Debe definir un tipo de retorno para cada método sobrecargado. Los métodos pueden tener diferentes tipos de retorno - por ejemplo, "add (int a, int b)" puede devolver un número entero, mientras que "añadir (un doble, doble b)" devuelve un doble. Sin embargo, Java no puede distinguir entre dos métodos diferentes en función de su tipo de retorno. Por lo tanto, "int multiplicar (doble un doble b)" no puede existir en la misma clase que la "doble multiplican (doble un doble b)."