Índice:
Definição - O que significa Sobrecarga?
Sobrecarga se refere à 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 eles 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 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 aprimora o desempenho do tempo de execução.
Techopedia explica Sobrecarga
A sobrecarga é usada em linguagens de programação que impõem verificação de tipo nas 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. Não é o mesmo que funções virtuais em que o método é definido em tempo de execução.
Ao contrário do Java, o 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 customizar a semântica dos 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 correta é selecionada com base nos argumentos passados e na lista de membros da função candidata que têm o mesmo nome. Os diferentes contextos nos quais a resolução de sobrecarga é usada incluem:
- Chamada de um método em uma expressão
- Construtor durante a criação do objeto
- Acessador do indexador por meio de um acesso ao elemento e expressão do operador predefinida ou definida pelo usuário
Recomenda-se evitar sobrecarregar os limites da herança, pois isso pode causar confusão. A sobrecarga pode se tornar complicada 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.