Solidez - Sobrecarga de função
Você pode ter várias definições para o mesmo nome de função no mesmo escopo. A definição da função deve diferir uma da outra pelos tipos e / ou número de argumentos na lista de argumentos. Você não pode sobrecarregar as declarações de função que diferem apenas pelo tipo de retorno.
O exemplo a seguir mostra o conceito de uma sobrecarga de função no Solidity.
Exemplo
pragma solidity ^0.5.0;
contract Test {
function getSum(uint a, uint b) public pure returns(uint){
return a + b;
}
function getSum(uint a, uint b, uint c) public pure returns(uint){
return a + b + c;
}
function callSumWithTwoArguments() public pure returns(uint){
return getSum(1,2);
}
function callSumWithThreeArguments() public pure returns(uint){
return getSum(1,2,3);
}
}
Execute o programa acima usando as etapas fornecidas no capítulo Aplicativo Solidity First .
Clique no botão callSumWithTwoArguments primeiro e depois no botão callSumWithThreeArguments para ver o resultado.
Resultado
0: uint256: 3
0: uint256: 6