Sobrecarga de métodos y de constructores
La firma de un método es la combinación del nombre y los tipos de los parámetros o argumentos.
La sobrecarga de métodos es la creación de varios métodos con el mismo nombre pero con
diferente lista de tipos de parámetros. Java utiliza el número y tipo de parámetros para seleccionar
cuál definición de método ejecutar.
Java diferencia los métodos sobrecargados con base en el número y tipo de parámetros o
argumentos que tiene el método y no por el tipo que devuelve.
Tambien existe la sobrecarga de constructores: Cuando en una clase existen constructores
múltiples, se dice que hay sobrecarga de constructores.
2.7 sobrecarga de operaciones concepto utilidad
La sobrecarga de operadores es la capacidad para transformar los operadores de un lenguaje
como por ejemplo el +, -, etc, cuando se dice transformar se refiere a que los operandos que
entran en juego no tienen que ser los que admite el lenguaje por defecto. Mediante esta técnica
podemos sumar dos objetos creados por nosotros o un objeto y un entero, en vez de limitarnos a
sumar números enteros o reales, por ejemplo.
La sobrecarga de operadores ya era posible en c++ y en otros lenguajes, pero sorprendentemente
java no lo incorpora, así que podemos decir que esta característica es una ventaja de c# respecto a
java, aunque mucha gente, esta posibilidad, no lo considera una ventaja porque complica el
código.
A la hora de hablar de operadores vamos a distinguir entre dos tipos, los unarios y los binarios. Los
unarios son aquellos que solo requieren un operando, por ejemplo a++, en este caso el operando
es ‘a’ y el operador ‘++’. Los operadores binarios son aquellos que necesitan dos operadores, por
ejemplo a+c , ahora el operador es ‘+’ y los operandos ‘a’ y ‘c’. Es importante esta distinción ya que
la programación se hará de forma diferente.
Los operadores que podemos sobrecargar son los unarios, +, -, ¡, ~, ++, --; y los binarios +, -, *, /, %,
&, |, ^, <<, >>. Es importante decir que los operadores de comparación, ==, ¡=, <, >, <=, >=, se
pueden sobrecargar pero con la condición que siempre se sobrecargue el complementario, es
decir, si sobrecargamos el == debemos sobrecargar el ¡=
Operadores Unarios
En esta sección se verá cómo sobrecargar los operadores unarios, es decir aquellos que toman un
solo operando, como por ejemplo a++. El prototipo de los métodos que van a sobrecargar
operadores unarios será
Public static Operando operator++(Operando a)
Como antes sustituyendo el ++ por cualquier operador unario. El ejemplo dentro de nuestra clase
de números complejos sería:
public static ComplexNum operator++(ComplexNum a)