Solidity - Function Overloading
Anda dapat memiliki beberapa definisi untuk nama fungsi yang sama dalam lingkup yang sama. Definisi fungsi harus berbeda satu sama lain dengan jenis dan / atau jumlah argumen dalam daftar argumen. Anda tidak dapat membebani deklarasi fungsi yang hanya berbeda menurut jenis kembaliannya.
Contoh berikut menunjukkan konsep fungsi overloading di Solidity.
Contoh
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);
}
}
Jalankan program di atas menggunakan langkah-langkah yang disediakan di bab Aplikasi Solidity First .
Klik tombol callSumWithTwoArguments terlebih dahulu lalu tombol callSumWithThreeArguments untuk melihat hasilnya.
Keluaran
0: uint256: 3
0: uint256: 6