Sobrecarregar

Definição - o que significa sobrecarga?

Sobrecarga refere-se à capacidade de usar um único identificador para definir vários métodos de uma classe que diferem em seus parâmetros de entrada e saída. Métodos sobrecarregados são geralmente usados ​​quando executam conceitualmente a mesma tarefa, mas com um conjunto de parâmetros ligeiramente diferente.

Sobrecarga é um conceito usado para evitar código redundante em que o mesmo nome de método é usado várias vezes, mas com um conjunto diferente de parâmetros. O método real que é chamado durante o tempo de execução é resolvido no tempo de compilação, evitando erros de tempo de execução. A sobrecarga fornece clareza de código, elimina a complexidade e melhora o desempenho do tempo de execução.

Definirtec explica sobrecarga

A sobrecarga é usada em linguagens de programação que impõem a verificação de tipo em chamadas de função durante a compilação. Quando um método está sobrecarregado, o método escolhido será selecionado em tempo de compilação. Isso não é o mesmo que funções virtuais em que o método é definido em tempo de execução.

Ao contrário do Java, C # permite que os operadores sejam sobrecarregados, além dos métodos, definindo membros estáticos usando a palavra-chave operator. Esse recurso ajuda a estender e personalizar a semântica de operadores relevantes para os tipos definidos pelo usuário, para que possam ser usados ​​para manipular instâncias de objetos com operadores.

A resolução de sobrecarga em C # é o método pelo qual a função certa é selecionada com base nos argumentos passados ​​e na lista de membros da função candidata que têm o mesmo nome. Os diferentes contextos em que a resolução de sobrecarga é usada incluem:

  • Invocação de um método em uma expressão
  • Construtor durante a criação do objeto
  • Acessador do indexador por meio de um acesso de elemento e expressão de operador predefinida ou definida pelo usuário

Recomenda-se evitar a sobrecarga nos limites de herança porque pode causar confusão. A sobrecarga pode se tornar incômoda para os desenvolvedores se for usada excessivamente e com tipos definidos pelo usuário como parâmetros, pois pode reduzir a legibilidade e a manutenção do código.