¿Qué es la sobrecarga del operador?

La sobrecarga del operador

es una función de lenguaje de programación de computadoras que permite que un programador anule un operador predeterminado. Cuando la función del operador está sobrecargada, se puede declarar con argumentos personalizados que son tipos de datos diferentes a los que el operador era capaz de manejar de forma predeterminada. Los nuevos parámetros pueden ser tipos primitivos o definidos por el usuario. Dentro del cuerpo de la función primaria, un programador puede manipular los valores de los parámetros como se desee. Al usar la sobrecarga del operador, un programador puede crear atajos intuitivos para manipular los tipos de datos definidos por el usuario o modificar cómo se manejan los tipos de datos predeterminados.

Cuando se crean los tipos de datos definidos por el usuario, no hay forma de hacer tareas operativas simples, como agregar dos de ellos o incrementar datos internos mediante el uso del operador de incrementos unitarios con el tipo de datos. Los operadores, incluido el símbolo de adición, se pueden anular para que si se usan como operadores binarios entre dos tipos de datos personalizados, devuelven un usuario DEresultado multado. De la misma manera, un operador unario, como el operador de incrementación, podría anularse para aumentar un valor interno dentro del tipo definido por el usuario.

Una vez que un operador está sobrecargado, el compilador debe tomar una decisión sobre qué hacer cuando se encuentra con un operador sobrecargado. El compilador decide que la acción adecuada se debe tomar en función de los tipos de datos que se utilizan como operandos, o junto con el operador. Si los operandos, que son valores de parámetros para la función del operador, son tipos de datos definidos por el usuario, el compilador elegirá la función sobrecargada que tiene parámetros que coinciden con los operandos que se usan.

Los lenguajes de la computadora varían en cómo permiten este tipo de polimorfismo ad-hoc. Diferentes idiomas pueden permitir la creación de nuevos operadores personalizados, la sobrecarga de todos o algunos de sus operadores, o no pueden permitir la sobrecarga de operadores en absoluto. C ++, C#, PHP y PerlTodos permiten que algunos de sus operadores se sobrecarguen. La sobrecarga del operador no está permitida en C, Java y JavaScript.

Tanto la sobrecarga del operador como la sobrecarga de funciones en general han sido objeto de algún debate. Algunos afirman que dar al programador la libertad de cambiar la forma en que se comporta un operador podría introducir el potencial para crear errores involuntarios por parte de otros programadores que usan el código personalizado. El punto de vista opuesto propone que permitir la sobrecarga del operador brinde a los programadores la capacidad de crear un código intuitivo y conciso que será más fácil de entender, costará menos producir y reducir los errores.

OTROS IDIOMAS