Solidität - Funktionsüberlastung
Sie können mehrere Definitionen für denselben Funktionsnamen im selben Bereich haben. Die Definition der Funktion muss sich durch die Typen und / oder die Anzahl der Argumente in der Argumentliste unterscheiden. Sie können keine Funktionsdeklarationen überladen, die sich nur nach Rückgabetyp unterscheiden.
Das folgende Beispiel zeigt das Konzept einer Funktionsüberladung in Solidity.
Beispiel
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);
}
}
Führen Sie das obige Programm mit den im Kapitel Solidity First Application beschriebenen Schritten aus .
Klicken Sie zuerst auf die Schaltfläche callSumWithTwoArguments und dann auf die Schaltfläche callSumWithThreeArguments, um das Ergebnis anzuzeigen.
Ausgabe
0: uint256: 3
0: uint256: 6