interface 关键字:定义了一个接口。其他合同可以实现这个接口。
接口需要有interface关键字,并且内部只需要有函数的声明,不用实现。
只要某合约中有和词接口相同的函数声明,就可以被此合约所接受。
源码:
pragma solidity ^0.8.7;
interface ICounter {
function count() external view returns (uint);
function inc() external;
}
contract CallInterface {
uint public count;
function examples(address _counter) external {
ICounter(_counter).inc();
count = ICounter(_counter).count();
}
}
pragma solidity ^0.8.7;
contract Counter {
uint public count;
function inc() external {
count += 1;
}
function dec() external {
count -= 1;
}
}