Solidity-function-overloading
提供:Dev Guides
堅牢性-関数のオーバーロード
同じスコープ内で同じ関数名に複数の定義を設定できます。 関数の定義は、引数リスト内の引数のタイプまたは数、あるいはその両方によって互いに異なる必要があります。 戻り型のみが異なる関数宣言をオーバーロードすることはできません。
次の例は、Solidityでオーバーロードする関数の概念を示しています。
例
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);
}
}
link:/solidity/solidity_first_application [Solidity First Application]の章に記載されている手順を使用して、上記のプログラムを実行します。
最初にcallSumWithTwoArgumentsボタンをクリックし、次にcallSumWithThreeArgumentsボタンをクリックして結果を確認します。
出力
0: uint256: 3
0: uint256: 6