40-Solidity8.0-接口合约 interface

289 阅读1分钟

interface 关键字:定义了一个接口。其他合同可以实现这个接口。

接口需要有interface关键字,并且内部只需要有函数的声明,不用实现。

只要某合约中有和词接口相同的函数声明,就可以被此合约所接受。

image.png

源码:

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;
    }
}