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

下面是本次实验所配套的视频教程: