Solidez - Sobrecarga de funciones
Puede tener varias definiciones para el mismo nombre de función en el mismo ámbito. La definición de la función debe diferir entre sí por los tipos y / o el número de argumentos en la lista de argumentos. No puede sobrecargar declaraciones de funciones que difieran solo por el tipo de retorno.
El siguiente ejemplo muestra el concepto de sobrecarga de una función en Solidity.
Ejemplo
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);
}
}
Ejecute el programa anterior siguiendo los pasos proporcionados en el capítulo Primera aplicación de Solidity.
Haga clic en el botón callSumWithTwoArguments primero y luego en el botón callSumWithThreeArguments para ver el resultado.
Salida
0: uint256: 3
0: uint256: 6