接口类似于抽象合约,使用interface
关键字创建,接口只能包含抽象函数,不能包含函数实现。以下是接口的关键特性:
- 接口的函数只能是外部类型。
- 接口不能有构造函数。
- 接口不能有状态变量。
- 接口可以包含enum、struct定义,可以使用
interface_name.
访问它们。
示例
尝试下面的代码来理解这个接口是如何可靠地工作的。
pragma solidity ^0.5.0;
interface Calculator {
function getResult() external view returns(uint);
}
contract Test is Calculator {
constructor() public {}
function getResult() external view returns(uint){
uint a = 1;
uint b = 2;
uint result = a + b;
return result;
}
}
可以参考Solidity – 第一个程序中的步骤,运行上述程序。
在单击deploy按钮之前,从下拉菜单中选择Test。
输出
0: uint256: 3