Solidity - Перегрузка функций
Вы можете иметь несколько определений для одного и того же имени функции в одной и той же области. Определение функции должно отличаться друг от друга типом и / или количеством аргументов в списке аргументов. Вы не можете перегрузить объявления функций, которые различаются только типом возвращаемого значения.
В следующем примере показана концепция перегрузки функции в 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);
}
}
Запустите указанную выше программу, следуя инструкциям в главе « Первое приложение Solidity» .
Сначала нажмите кнопку callSumWithTwoArguments, а затем кнопку callSumWithThreeArguments, чтобы увидеть результат.
Вывод
0: uint256: 3
0: uint256: 6