SOBRECARGA DE OPERADORES
marckko12 de Octubre de 2012
682 Palabras (3 Páginas)633 Visitas
Los operadores en java tienen gran similitud tanto de estilo así como de funcionamiento de programación en C como C++. Un operador que actúa sobre un solo operando se le llama operador unario, y un operador que actúa sobre dos operandos es un operador binario.
Una sobrecarga de operadores permite redefinir ciertos operadores tales como “+” y “-“. A una reutilización de un mismo operador con un numero de usos diferentes y cuando el compilador decide el uso de ese operador dependiendo sobre que opera, se le conoce o es llamado sobrecarga de operadores.
Estas sobrecarga de operadores solo se usan con clases además no pueden redifinir los operadores para tipos simples.
Los operadores lógicos que pueden ser sobrecargados para las clases definidas por el programador son && y ||, pero no podrán funcionar como operadores en short circuit.
Los miembros de construcción lógica que serán evaluados y que no tendrán ningún tipo de problemas en lo que se puede referirse a la salida.
Los operadores lógicos que continúan en short circuit como era de esperarse son los predefinidos, pero estos no son los sobrecargados.
Hay ciertos operadores que pueden o deben estar sobrecargados que a continuación se mostraran:
• El operador ternario?
• El operador de acceso a una clase o estructura : .
• El operador scope :: .
Java no es capaz de soporta la sobrecarga de operadores, aunque es utilizado internamente por el sistema y está ocultada al programador, entre las sobrecargas de operadores tenemos la sobrecarga del operador suma, si tenemos una clase ComplejoC que representa un complejo, para poder sumas dos de estas clases simplemente poniendo un +, como cualquier tipo básico, debemos sobrecargar el operador +, darle una nueva funcionalidad.
Así como existe una sobrecarga de operadores también hay sobrecarga de métodos, un método sobrecargado se utiliza para reutilizar el nombre de un método pero con diferentes argumentos , opcionalmente es un tipo diferente de retorno, para esta sobrecarga de métodos existen algunas reglas que a continuación se presentaran:
Pasos para sobrecargar un método
1° nos dicen que los métodos sobrecargados deben de cambiar de argumento
2° pueden cambiar a tipo de retorno
3° se pueden cambiar a modificadores de acceso
4° se pueden declarar nuevas o más amplias excepciones
5° también dice que un método puede ser sobrecargado en la misma clase o en una subclase.
Para poder sobrecargar a un operador se escribe una función que tenga el nombre del operador seguido del símbolo del operador que se va a cargar.
Tal vez en alguna ocasión nos hemos cuestionado si java es capaz o puede soportar una sobrecarga, tal vez si sea capaz de soportarla pero uno no se da cuenta ya que como habíamos dicho anteriormente estas se encuentran oculta en el interior del programador.
Un ejemplo; si nos podemos fijar al hacer un Int ejemplo=2+1;
En java eso es válido y le asigna un 3 a la variable ejemplo la funcionalidad fue sumar, sin embargo en este:
String ejemplo="hola"+"mundo";
El operador + se utiliza con otra finalidad: Concatenar, Java si usa la sobrecarga de operadores, pero esta oculta para el programador, ósea no te permite usarla.
Para no llegar a una confusión, imaginemos que se define la clases llamada “sobrescribe” y en esta se sobrecargará el operador suma y se asignara nuestra forma de trabajar ya sea sumar fracciones, pero para ello hay que definir la clase “fracciones” a las cuales se les heredaran la clase “sobrescribe” el resultado podría ser que en la clase “fracciones” el operador suma cambiara su comportamiento. Ahora bien se legra un programador externo y revisara la clase “fracciones”
...