亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

solidity[47]-interface

發布時間:2020-06-19 18:02:29 來源:網絡 閱讀:626 作者:jonson_jackson 欄目:開發技術

接口

接口本意是物體之間連接的部位。例如電腦的usb接口可以用來連接鼠標也可以連接U盤和硬盤。因此,使用標準的接口可以極大的拓展程序的功能。在solidity語言中,接口可以用來接受相同規則的合約,實現可更新的智能合約。

接口定義

接口需要有interface關鍵字,并且內部只需要有函數的聲明,不用實現。

只要某合約中有和詞接口相同的函數聲明,就可以被此合約所接受。

1
2
3
interface 接口名{
   函數聲明;
}

例子:

1
2
3
interface animalEat{
     function eat() public returns(string);
}

接口使用

在下面的例子中,定義了cat合約以及dog合約。他們都有eat方法.以此他們都可以被上面的animalEat接口所接收。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
contract cat{

   string name;
   function eat() public returns(string){
       return "cat eat fish";

   }

   function sleep() public returns(string){
        return "sleep";
   }

}


contract dog{

   string name;
   function eat() public returns(string){
       return "dog miss you";

   }

   function swim() public returns(string){
        return "sleep";
   }

}

interface animalEat{
     function eat() public returns(string);
}

contract animal{
   function test(address _addr) returns(string){
       animalEat   generalEat =  animalEat(_addr);
       return generalEat.eat();
   }

}

在合約animal中,調用函數test,如果傳遞的是部署的cat的合約地址,那么我們在調用接口的eat方法時,實則調用了cat合約的eat方法。 同理,如果傳遞的是部署的dog的合約地址,那么我們在調用接口的eat方法時,實則調用了dog合約的eat方法。

  • 本文鏈接: https://dreamerjonson.com/2018/11/23/solidity-47-interface/

  • 版權聲明: 本博客所有文章除特別聲明外,均采用 CC BY 4.0 CN協議 許可協議。轉載請注明出處!

solidity[47]-interface

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐陵市| 宁武县| 江达县| 全南县| 安仁县| 遂溪县| 皮山县| 庆元县| 开江县| 五华县| 南江县| 靖边县| 大理市| 津市市| 西贡区| 昌宁县| 乐业县| 南阳市| 淮南市| 宣威市| 洛阳市| 广州市| 曲水县| 南丹县| 锡林郭勒盟| 嵊州市| 宁海县| 台前县| 内江市| 黑水县| 长乐市| 长岛县| 甘德县| 徐水县| 平乐县| 武城县| 平陆县| 瑞丽市| 云安县| 通辽市| 孙吴县|