iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
Modern Web

區塊鏈&DAPP介紹系列 第 14

[區塊鏈&DAPP介紹 Day14] Solidity 教學 - interfaces

  • 分享至 

  • xImage
  •  

昨天聊過 abstract constract,今天來聊聊 interfaces。

在 OOP 語言裡面很重要的一個東西 interfaces,在 solidity 也有提供相同的功能。下面來看看範例

// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.6.2 <0.9.0;

interface A {
    function test() external returns (uint256);
}

在 interface 中一樣可以有繼承的概念,範例如下

// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.3;

interface A {
    function test() external returns (uint256);
}

interface B {
    function test() external returns (uint256);
}

interface C is A, B {
    function test() external override(A, B) returns (uint256);
}

如何在 constract 實現 interface

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.3;
// 這是抽象合約
interface A {
    function Name() external returns (string memory);
}
contract B is A {
    function Name() public pure returns (string memory) {
        return "B";
    }
}

其實從上述範例中看到,其實跟 abstract contract 跟 interface 的用法其實是很像的。 大家可以比較看看。


上一篇
[區塊鏈&DAPP介紹 Day13] Solidity 教學 - contracts-2
下一篇
[區塊鏈&DAPP介紹 Day15] Solidity 教學 - events
系列文
區塊鏈&DAPP介紹30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言