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