Solidità - Sovraccarico di funzioni
È possibile avere più definizioni per lo stesso nome di funzione nello stesso ambito. La definizione della funzione deve differire l'una dall'altra per i tipi e / o il numero di argomenti nell'elenco degli argomenti. Non è possibile eseguire l'overload di dichiarazioni di funzione che differiscono solo per il tipo restituito.
L'esempio seguente mostra il concetto di sovraccarico di una funzione in Solidity.
Esempio
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);
}
}
Eseguire il programma precedente utilizzando i passaggi forniti nel capitolo Solidity First Application .
Fare prima clic sul pulsante callSumWithTwoArguments, quindi chiamare il pulsanteSumWithThreeArguments per visualizzare il risultato.
Produzione
0: uint256: 3
0: uint256: 6