Lar Desenvolvimento O que é sobrecarga do operador? - o que é techopedia

O que é sobrecarga do operador? - o que é techopedia

Índice:

Anonim

Definição - O que significa Sobrecarga de Operador?

Sobrecarga de operador é uma técnica pela qual os operadores usados ​​em uma linguagem de programação são implementados em tipos definidos pelo usuário com lógica personalizada que se baseia nos tipos de argumentos transmitidos.


A sobrecarga do operador facilita a especificação da implementação definida pelo usuário para operações em que um ou ambos os operandos são de classe ou tipo de estrutura definido pelo usuário. Isso ajuda os tipos definidos pelo usuário a se comportarem de maneira semelhante aos tipos de dados primitivos fundamentais. A sobrecarga do operador é útil nos casos em que os operadores usados ​​para certos tipos fornecem semântica relacionada ao contexto do domínio e suporte sintático, conforme encontrado na linguagem de programação. É usado para conveniência sintática, legibilidade e manutenção.


Java não suporta sobrecarga do operador, exceto a concatenação de cadeias para as quais sobrecarrega o operador + internamente.

Techopedia explica sobrecarga do operador

Os operadores são referenciados usando notação de operador em expressões e notação funcional em declarações. A sintaxe, precedência e associatividade de um operador não podem ser alteradas usando declarações de operador definidas pelo usuário.


Por exemplo, os operadores em C # são categorizados com base no tipo de operação que realizam. Alguns deles são sobrecarregados em tipos definidos pelo usuário, definindo-os em funções de membro estáticas e usando a palavra-chave operator. Os parâmetros da função de operador representam os operandos, enquanto o tipo de retorno de uma função de operador representa o resultado da operação. A sobrecarga é implementada em pares para operadores, como operadores de comparação como "==" e "! =". O método Equals () para esses operadores deve ser substituído para evitar um aviso do compilador. A sobrecarga não deve ser usada para operadores como condicional, lógico (e !!), atribuição (+ =, - =, etc.), conversão e indexação de matriz ().


É altamente recomendável que a sobrecarga do operador seja implementada de forma que os resultados produzidos sejam o que se espera intuitivamente da implementação padrão do operador. Certas regras matemáticas, como lei comutativa, aplicáveis ​​a expressões com dois operandos, não podem ser aplicáveis ​​quando usadas em sobrecarga para tipos, pois são definidas apenas para operandos numéricos.

O que é sobrecarga do operador? - o que é techopedia