实验4.14 合约接口
合约的接口类似于抽象合约,使用interface关键字来创建。合约可以像继承其他合约一样继承interface。它的作用简单形象的说,就是给某个对象打个标(盖个戳),使对象拥有某个或某些特权。为达到统一标准的目的,大家都知道这个是做什么的,但是具体不用知道具体怎么做。
实验目的
1.了解solidity中的接口及实现。
实验要求
1. 查看代码中的接口InterfaceHelloWorld,其中有三个错误,请你进行编译根据报错的提示进行修改。思考接口的实现需要注意什么?
2. 请你补充代码,使得合约HelloWorld调用接口InterfaceHelloWorld。修改完后,编译部署,调用合约HelloWorld中两个函数,检查结果,查看接口是否调用成功。
以下是本次实验所使用到的测试代码,请使用remix编辑器完成该实验
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
interface IterfaceHelloWorld {
uint age;
function getValue()public view returns(uint);
function setValue(uint _value)public;
}
//请补充下面一行代码,使得合约HelloWorld调用接口IHelloWorld
contract HelloWorld{
uint private SimpleInteger;
function getValue()public view returns(uint){
return SimpleInteger;
}
function setValue(uint _value)public {
SimpleInteger = _value;
}
}
下面是本次实验所配套的视频教程: