1.6 Extend 繼承合約

閱讀時間約 3 分鐘
extend

extend

這個合約將管理校慶運動會的基本信息和操作,並且包含了特定的運動會活動,如校內運動會的規則和獎勵制度。

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract SportsFestival {
struct Participant {
string name;
uint age;
string sport;
}

mapping(uint => Participant) public participants;
uint public participantCount;

function addParticipant(string memory name, uint age, string memory sport) public {
participantCount++;
participants[participantCount] = Participant(name, age, sport);
}

function getParticipant(uint id) public view returns (string memory name, uint age, string memory sport) {
Participant memory participant = participants[id];
return (participant.name, participant.age, participant.sport);
}
}

contract SchoolSportsFestival is SportsFestival {
mapping(string => uint) public scores;

function addScore(string memory sport, uint score) public {
scores[sport] += score;
}

function getScore(string memory sport) public view returns (uint) {
return scores[sport];
}
}
  • SportsFestival合約定義了運動會的基本結構和操作,包括添加參賽者和查詢參賽者的信息。
  • SchoolSportsFestival合約繼承自SportsFestival,並添加了一個新的映射scores來追蹤各種運動的分數。這種繼承模式允許我們將通用的運動會管理功能封裝在基礎合約中,並在衍生合約中添加或修改特定的行為,如校內運動會的獎勵制度。
    尋大神腳印, 亦步亦趨。
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    Storage、Memory和Calldata是用於定義變量存儲位置的關鍵字,它們各自有不同的適用情境和用法。 Storage Storage是用於存儲合約狀態變量的位置。這些變量存儲在區塊鏈上,並且在合約的生命週期內持續存在。Storage變量的變化會影響合約的狀態,並且會持久化存儲在區塊鏈上
    interface的主要作用是定義合約的函數規範,但不包含具體的實現。它提供了一種清晰的方式來描述合約之間的互動方式,從而使得不同的合約可以進行互操作性。 學校圖書館系統, 包括兩個主要的合約:Library合約和Student合約。 Library合約:這個合約負責管理圖書館的書籍,包括書籍的
    ForLoop // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract ArtAuction { mapping(uint => uint) public artworks; uint public con
    // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract GiftShop { mapping(address => uint) public loyaltyPoints; mapping(string =>
    // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract TuitionPayment { address public school; uint public tuitionFee; mapping(
    // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract SchoolGreetings { address public principal; event GreetingReceived(string g
    Storage、Memory和Calldata是用於定義變量存儲位置的關鍵字,它們各自有不同的適用情境和用法。 Storage Storage是用於存儲合約狀態變量的位置。這些變量存儲在區塊鏈上,並且在合約的生命週期內持續存在。Storage變量的變化會影響合約的狀態,並且會持久化存儲在區塊鏈上
    interface的主要作用是定義合約的函數規範,但不包含具體的實現。它提供了一種清晰的方式來描述合約之間的互動方式,從而使得不同的合約可以進行互操作性。 學校圖書館系統, 包括兩個主要的合約:Library合約和Student合約。 Library合約:這個合約負責管理圖書館的書籍,包括書籍的
    ForLoop // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract ArtAuction { mapping(uint => uint) public artworks; uint public con
    // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract GiftShop { mapping(address => uint) public loyaltyPoints; mapping(string =>
    // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract TuitionPayment { address public school; uint public tuitionFee; mapping(
    // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract SchoolGreetings { address public principal; event GreetingReceived(string g
    你可能也想看
    Google News 追蹤
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    12/18/2020 1/6的夕陽   不是夕陽變成1/6,是去了6次才看到1次夕陽。  我曾在一萬呎的飛機中, 德國無限速的公路上, 海拔五千公尺山嶺之巔, 浪花飛淺的海岸, 看到過夕陽。  即使在特別的環境中看夕陽,然而也非特別安排。 純粹只是擦身而過的景色。 從未想過
    Thumbnail
    快樂的週六,但老公早早就告知他要回診眼科,預計下午才回來,所以我要嘛跟婆婆大眼瞪小眼一個早上,要嘛一打一帶小的出去玩,讓大的在家複習期末考,感覺都是累人的選項阿。
    Thumbnail
    ❤️追蹤破六百,給“新鄰居”的自我小介紹:嗨 !我是小倉鼠!❤️ 倉鼠姐獨創:閱讀生活V.S.生活閱讀 如果你也是方格子的好鄰居,無意間逛到小倉鼠的部落格,我簡介一下自己,我是一個說書頻道的博主,PODCAST頻道名叫《社畜逃脫筆記》,頻道以自我成長和財務自由為主軸,分享我閱讀的有聲筆記,固定周
    「什麼!你說寶石從橋上掉下去了!?不是已經固定好了嗎!?」博士怒道。 駕駛貨車的中年人並沒有說任何話…….只是把頭別向另外一邊。 此時的麥克在熟睡中被吵醒,從卡車的副駕駛座醒過來。 「怎麼了?大叔?」 「本以為我們已經甩開古爾斯組織了。」 「以為?所以還是被….搶走了嗎?」麥克震驚道。
    Thumbnail
    2015年,六月五號。 當天,抵達終點時,我覺得我的身體已經和靈魂分開來了,走任何一步路,都像腳底踩著無數根針!好不容易進到庇護所,想要洗個溫暖的熱水澡再大吃一頓然後睡個大覺,可是淋浴間排著長長的隊伍,我差點就投降,還是得排! 突然,我的夥伴帶來了新消息,馬上把我的靈魂叫回來了!
    Thumbnail
    Juliet: 原以為會接到緘自古城的信件,但是我只收到一個沉重的失望。星子們多美麗,隔著多少萬光年的距離,設想你是其中一顆只供仰望,唉,這觸摸不著的愛戀。 信不信?信不信?方才那支原子筆剛巧沒水,已為我們的愛情鞠躬盡瘁。
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    12/18/2020 1/6的夕陽   不是夕陽變成1/6,是去了6次才看到1次夕陽。  我曾在一萬呎的飛機中, 德國無限速的公路上, 海拔五千公尺山嶺之巔, 浪花飛淺的海岸, 看到過夕陽。  即使在特別的環境中看夕陽,然而也非特別安排。 純粹只是擦身而過的景色。 從未想過
    Thumbnail
    快樂的週六,但老公早早就告知他要回診眼科,預計下午才回來,所以我要嘛跟婆婆大眼瞪小眼一個早上,要嘛一打一帶小的出去玩,讓大的在家複習期末考,感覺都是累人的選項阿。
    Thumbnail
    ❤️追蹤破六百,給“新鄰居”的自我小介紹:嗨 !我是小倉鼠!❤️ 倉鼠姐獨創:閱讀生活V.S.生活閱讀 如果你也是方格子的好鄰居,無意間逛到小倉鼠的部落格,我簡介一下自己,我是一個說書頻道的博主,PODCAST頻道名叫《社畜逃脫筆記》,頻道以自我成長和財務自由為主軸,分享我閱讀的有聲筆記,固定周
    「什麼!你說寶石從橋上掉下去了!?不是已經固定好了嗎!?」博士怒道。 駕駛貨車的中年人並沒有說任何話…….只是把頭別向另外一邊。 此時的麥克在熟睡中被吵醒,從卡車的副駕駛座醒過來。 「怎麼了?大叔?」 「本以為我們已經甩開古爾斯組織了。」 「以為?所以還是被….搶走了嗎?」麥克震驚道。
    Thumbnail
    2015年,六月五號。 當天,抵達終點時,我覺得我的身體已經和靈魂分開來了,走任何一步路,都像腳底踩著無數根針!好不容易進到庇護所,想要洗個溫暖的熱水澡再大吃一頓然後睡個大覺,可是淋浴間排著長長的隊伍,我差點就投降,還是得排! 突然,我的夥伴帶來了新消息,馬上把我的靈魂叫回來了!
    Thumbnail
    Juliet: 原以為會接到緘自古城的信件,但是我只收到一個沉重的失望。星子們多美麗,隔著多少萬光年的距離,設想你是其中一顆只供仰望,唉,這觸摸不著的愛戀。 信不信?信不信?方才那支原子筆剛巧沒水,已為我們的愛情鞠躬盡瘁。