Solidity語言學習筆記————35、抽象合約和介面
抽象合約(Abstract Contracts)
合約函式可以缺少實現(請注意,函式宣告頭被;
終止),見下面的例子:
pragma solidity ^0.4.0;
contract Feline {
function utterance() public returns (bytes32);
}
這樣的合約不能被編譯(即使它們同時包含具體函式和抽象函式),但它們可以用作父合約:
pragma solidity ^0.4.0;
contract Feline {
function utterance() public returns (bytes32);
}
contract Cat is Feline {
function utterance() public returns (bytes32) { return "miaow"; }
}
如果一個合約是從抽象合約中繼承的,但沒實現所有的函式,則它也是抽象合約。
介面(Interfaces)
介面類似於抽象合約,但它們不能實現任何功能。 還有其他限制:
- 無法繼承其他合約或介面。
- 無法定義建構函式。
- 無法定義變數。
- 無法定義結構體。
- 無法定義列舉。
這些限制中的一些可能在未來取消。
介面基本上僅限於合約ABI可以表示的內容,並且ABI和介面之間可以在不丟失任何資訊的情況下轉換。
介面由它們自己的關鍵字表示:
pragma solidity ^0.4.11;
interface Token {
function transfer(address recipient, uint amount) public;
}
合約可以像繼承合約一樣繼承介面。
相關文章
- Solidity語言學習筆記————32、建立合約Solid筆記
- Solidity語言學習筆記————44、合約的後設資料Solid筆記
- Solidity語言學習筆記————1、初識Solidity語言Solid筆記
- Solidity語言學習筆記————42、提示和技巧Solid筆記
- Solidity語言學習筆記————38、Solidity彙編Solid筆記
- Solidity語言學習筆記————31、智慧合約的基本檔案結構概述Solid筆記
- Solidity語言學習筆記————36、 庫Solid筆記
- Solidity語言學習筆記————37、Using forSolid筆記
- Solidity語言學習筆記————4、常量Solid筆記
- Solidity語言學習筆記————25、作用域和宣告Solid筆記
- Solidity語言學習筆記————18、字串和函式Solid筆記字串函式
- Solidity語言學習筆記————33、事件(Events)Solid筆記事件
- Solidity語言學習筆記————12、陣列Solid筆記陣列
- Solidity語言學習筆記————34、繼承Solid筆記繼承
- Solidity語言學習筆記————26、Assert, Require, Revert 和 ExceptionsSolid筆記UIException
- Solidity語言學習筆記————22、可見性和GettersSolid筆記
- Solidity語言學習筆記————43、安全考量Solid筆記
- Solidity語言學習筆記————28、純函式Solid筆記函式
- Solidity語言學習筆記————26、回退函式Solid筆記函式
- Solidity語言學習筆記————16、對映MappingSolid筆記APP
- Solidity語言學習筆記————23、函式呼叫和賦值Solid筆記函式賦值
- Solidity語言學習筆記————41、記憶體佈局Solid筆記記憶體
- Solidity語言學習筆記————7、單位和全域性變數Solid筆記變數
- Solidity語言學習筆記————39、獨立彙編Solid筆記
- Solidity語言學習筆記————27、檢視函式Solid筆記函式
- Solidity語言學習筆記————10、布林型、整型Solid筆記
- Solidity語言學習筆記————3、Remix的基本使用Solid筆記REM
- Solidity語言學習筆記————15、結構體StructSolid筆記結構體Struct
- Solidity語言學習筆記————14、左值運算子Solid筆記
- Solidity語言學習筆記————9、左值運算子Solid筆記
- Solidity語言學習筆記————17、原始檔對映Solid筆記
- Solidity語言學習筆記————5、全域性變數Solid筆記變數
- Solidity語言學習筆記————2、使用編譯器Solid筆記編譯
- Solidity語言學習筆記————30、函式過載Solid筆記函式
- 智慧合約語言 Solidity 教程系列8 - Solidity APISolidAPI
- 智慧合約語言 Solidity 教程系列8 – Solidity APISolidAPI
- Solidity語言學習筆記————45、應用二進位制介面(ABI)說明Solid筆記
- Solidity語言學習筆記————20、函式修飾符Solid筆記函式