O que é sobrecarga do operador?

Sobrecarga do operador é um recurso de linguagem de programação de computador que permite que um programador substitua um operador padrão. Quando a função do operador está sobrecarregada, ela pode ser declarada com argumentos personalizados que são diferentes tipos de dados do que o operador era capaz de lidar por padrão. Os novos parâmetros podem ser tipos primitivos ou definidos pelo usuário. Dentro do corpo da função substituta, um programador pode manipular os valores dos parâmetros conforme desejado. Ao usar a sobrecarga do operador, um programador pode criar atalhos intuitivos para manipular tipos de dados definidos pelo usuário ou modificar como os tipos de dados padrão são tratados. Os operadores, incluindo o símbolo de adição, podem ser substituídos para que, se forem usados ​​como operadores binários entre dois tipos de dados personalizados, eles retornam um usuário DEresultado multado. Da mesma forma, um operador unário, como o operador de incremento, pode ser substituído para aumentar um valor interno dentro do tipo definido pelo usuário.

Depois que um operador está sobrecarregado, o compilador deve tomar uma decisão sobre o que fazer quando encontrar um operador sobrecarregado. O compilador decide a ação adequada a ser tomada com base em quais tipos de dados estão sendo usados ​​como operandos ou em conjunto com o operador. Se os operandos, que são valores de parâmetros para a função do operador, forem os tipos de dados definidos pelo usuário, o compilador escolherá a função sobrecarregada que possui parâmetros que correspondem aos operandos que estão sendo usados.

As linguagens do computador variam na maneira como permitem esse tipo de polimorfismo ad-hoc. Diferentes idiomas podem permitir a criação de novos operadores personalizados, a sobrecarga de todos ou alguns de seus operadores, ou pode não permitir a sobrecarga do operador. C ++, C#, PHP e PerlTodos permitem que alguns de seus operadores sejam sobrecarregados. A sobrecarga do operador não é permitida em C, Java e JavaScript.

Tanto a sobrecarga do operador quanto a sobrecarga de funções em geral foram objeto de algum debate. Alguns afirmam que dando ao programador a liberdade de mudar a maneira como um operador se comporta pode introduzir o potencial de criar erros não intencionais por outros programadores que usam o código personalizado. O ponto de vista oposto propõe que permitir a sobrecarga do operador dá aos programadores a capacidade de criar código intuitivo e conciso que será mais fácil de entender, custar menos para produzir e reduzir erros.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?