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
    查看全部
    發表第一個留言支持創作者!
    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 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    12/18/2020 1/6的夕陽   不是夕陽變成1/6,是去了6次才看到1次夕陽。  我曾在一萬呎的飛機中, 德國無限速的公路上, 海拔五千公尺山嶺之巔, 浪花飛淺的海岸, 看到過夕陽。  即使在特別的環境中看夕陽,然而也非特別安排。 純粹只是擦身而過的景色。 從未想過
    Thumbnail
    快樂的週六,但老公早早就告知他要回診眼科,預計下午才回來,所以我要嘛跟婆婆大眼瞪小眼一個早上,要嘛一打一帶小的出去玩,讓大的在家複習期末考,感覺都是累人的選項阿。
    Thumbnail
    ❤️追蹤破六百,給“新鄰居”的自我小介紹:嗨 !我是小倉鼠!❤️ 倉鼠姐獨創:閱讀生活V.S.生活閱讀 如果你也是方格子的好鄰居,無意間逛到小倉鼠的部落格,我簡介一下自己,我是一個說書頻道的博主,PODCAST頻道名叫《社畜逃脫筆記》,頻道以自我成長和財務自由為主軸,分享我閱讀的有聲筆記,固定周
    「什麼!你說寶石從橋上掉下去了!?不是已經固定好了嗎!?」博士怒道。 駕駛貨車的中年人並沒有說任何話…….只是把頭別向另外一邊。 此時的麥克在熟睡中被吵醒,從卡車的副駕駛座醒過來。 「怎麼了?大叔?」 「本以為我們已經甩開古爾斯組織了。」 「以為?所以還是被….搶走了嗎?」麥克震驚道。
    Thumbnail
    2015年,六月五號。 當天,抵達終點時,我覺得我的身體已經和靈魂分開來了,走任何一步路,都像腳底踩著無數根針!好不容易進到庇護所,想要洗個溫暖的熱水澡再大吃一頓然後睡個大覺,可是淋浴間排著長長的隊伍,我差點就投降,還是得排! 突然,我的夥伴帶來了新消息,馬上把我的靈魂叫回來了!
    Thumbnail
    Juliet: 原以為會接到緘自古城的信件,但是我只收到一個沉重的失望。星子們多美麗,隔著多少萬光年的距離,設想你是其中一顆只供仰望,唉,這觸摸不著的愛戀。 信不信?信不信?方才那支原子筆剛巧沒水,已為我們的愛情鞠躬盡瘁。
    Thumbnail
    這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
    Thumbnail
    美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
    12/18/2020 1/6的夕陽   不是夕陽變成1/6,是去了6次才看到1次夕陽。  我曾在一萬呎的飛機中, 德國無限速的公路上, 海拔五千公尺山嶺之巔, 浪花飛淺的海岸, 看到過夕陽。  即使在特別的環境中看夕陽,然而也非特別安排。 純粹只是擦身而過的景色。 從未想過
    Thumbnail
    快樂的週六,但老公早早就告知他要回診眼科,預計下午才回來,所以我要嘛跟婆婆大眼瞪小眼一個早上,要嘛一打一帶小的出去玩,讓大的在家複習期末考,感覺都是累人的選項阿。
    Thumbnail
    ❤️追蹤破六百,給“新鄰居”的自我小介紹:嗨 !我是小倉鼠!❤️ 倉鼠姐獨創:閱讀生活V.S.生活閱讀 如果你也是方格子的好鄰居,無意間逛到小倉鼠的部落格,我簡介一下自己,我是一個說書頻道的博主,PODCAST頻道名叫《社畜逃脫筆記》,頻道以自我成長和財務自由為主軸,分享我閱讀的有聲筆記,固定周
    「什麼!你說寶石從橋上掉下去了!?不是已經固定好了嗎!?」博士怒道。 駕駛貨車的中年人並沒有說任何話…….只是把頭別向另外一邊。 此時的麥克在熟睡中被吵醒,從卡車的副駕駛座醒過來。 「怎麼了?大叔?」 「本以為我們已經甩開古爾斯組織了。」 「以為?所以還是被….搶走了嗎?」麥克震驚道。
    Thumbnail
    2015年,六月五號。 當天,抵達終點時,我覺得我的身體已經和靈魂分開來了,走任何一步路,都像腳底踩著無數根針!好不容易進到庇護所,想要洗個溫暖的熱水澡再大吃一頓然後睡個大覺,可是淋浴間排著長長的隊伍,我差點就投降,還是得排! 突然,我的夥伴帶來了新消息,馬上把我的靈魂叫回來了!
    Thumbnail
    Juliet: 原以為會接到緘自古城的信件,但是我只收到一個沉重的失望。星子們多美麗,隔著多少萬光年的距離,設想你是其中一顆只供仰望,唉,這觸摸不著的愛戀。 信不信?信不信?方才那支原子筆剛巧沒水,已為我們的愛情鞠躬盡瘁。