O que é sobrecarga de função?
Sobrecarga de função é um recurso de muitas linguagens de programação em que vários métodos podem ser criados com o mesmo nome, mas com diferentes parâmetros de entrada ou tipos de retorno. Este é um recurso comum na programação orientada a objetos; Os construtores em particular podem ter várias variantes sobrecarregadas diferentes. Essencialmente, a sobrecarga da função é útil quando duas funções fazem coisas muito semelhantes e podem levar vários tipos de entrada para fazê -lo. Os construtores podem ser sobrecarregados facilmente porque não possuem o tipo de retorno explícito especificado; portanto, alterar os parâmetros de entrada de um construtor seria sobrecarga válida.
A primeira maneira pela qual uma função pode ser sobrecarregada é alterando seus parâmetros de entrada. Por exemplo, pode -se considerar uma função chamada "add" que toma como entrada dois números inteiros. O objetivo desta função é bastante óbvio; É para encontrar a soma de dois números inteiros.
Se alguém quisesse encontrar a soma de dois carros alegóricos, ou números decimais, no entanto, esse functãoIon não seria aplicável. Portanto, uma segunda função sobrecarregada seria necessária, definida como uma função chamada "Adicionar" que toma como entrada dois flutuadores. As funções fazem essencialmente a mesma coisa, mas a sobrecarga da função é necessária porque seus insumos são significativamente diferentes.
A segunda maneira pela qual uma função pode ser sobrecarregada é alterar seus parâmetros de entrada e seu tipo de retorno. Usando o exemplo anterior, pode -se considerar se as duas funções sobrecarregadas "Adicionar" tiveram um tipo de retorno vazio; Ou seja, eles não devolveram nada. Isso ainda seria uma sobrecarga de função válida, mas os tipos de retorno dos dois métodos também podem ser alterados. Em outra instância válida de sobrecarga, a função "Add" que leva dois números inteiros pode retornar toda a soma do número, e a função "Add" que leva dois números decimais pode retornar essa soma de número decimal.
Basta alterar o tipo de retorno oF Uma função, no entanto, não é considerada sobrecarga de função válida. Alterando apenas o tipo de retorno de uma função resulta em ambiguidade, porque não está claro na assinatura do método que o tipo de retorno é desejado. Os parâmetros também podem ser definidos de forma ambígua, por isso é muito importante que as funções sobrecarregadas sejam chamadas corretamente. Por exemplo, se um tiver uma função sobrecarregada que tenha um número inteiro como parâmetro de entrada e outro que tenha um número decimal como um parâmetro, seria muito fácil para alguém chamar acidentalmente a função de número decimal em vez de toda a função de número, ou vice -versa, porque eles têm o mesmo nome. Parâmetros ambíguos como esses devem ser evitados, se possível, e se não puderem ser, deve -se tomar muito cuidado para garantir que a função sobrecarregada adequada seja chamada nos momentos adequados.
Sobrecarga de função é útil para criar funções relacionadas com tipos de entrada variados e oferece muita flexibilidade. Uma consideração finalNas funções sobrecarregadas é que comentários adequados são essenciais. Embora possa ficar claro por parâmetros de entrada diferentes que versão de uma função sobrecarregada é adequada para uma situação específica, nem sempre pode ficar claro com precisão o que a função faz de maneira diferente de seus outros parceiros sobrecarregados.