91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

周口市| 射阳县| 辽源市| 汨罗市| 平泉县| 黔西县| 阿瓦提县| 喀什市| 罗甸县| 广丰县| 朝阳县| 聂荣县| 新邵县| 子长县| 灵川县| 东丽区| 双辽市| 自治县| 苍山县| 开阳县| 安塞县| 赞皇县| 木兰县| 卫辉市| 万安县| 罗江县| 海林市| 广宁县| 双峰县| 嘉禾县| 博湖县| 宁都县| 萝北县| 静海县| 昂仁县| 新和县| 于都县| 青海省| 民丰县| 博爱县| 厦门市|