وراثت(Inheritance) در قراردادهای هوشمند Solidity
17 خرداد 1401
ارسال شده توسط مریم طاهری
با قراردادهای Solidity می توان از وراثت استفاده کرد که راهی برای گسترش عملکرد یک قرارداد است، به سازماندهی کد کمک می کند و قابلیت استفاده مجدد را افزایش می دهد.
Solidity از وراثت بین قراردادهای هوشمند پشتیبانی می کند، که در آن قراردادهای متعدد را می توان در یک قرارداد به ارث برد.
نمونه قرارداد زیر استفاده از ارث را نشان می دهد. MyFirstContract از بانک به ارث می برد.
//contract 2 will inherit contract 1
pragma solidity ^0.5.0;
interface Regulator {
function checkValue (uint amount) external returns (bool);
function loan() external returns (bool);
}
//the bank contract is using the regulator interface
contract Bank is Regulator {
uint private value;
address private owner;
}
constructor(uint amount) public {
value = amount;
owner = msg.sender;
}
function deposit(uint amount) public {
value += amount;
}
function withdraw(uint amount) public {
if (checkValue(amount)) {
value -= amount;
}
}
function balance() public view returns (uint) {
return value;
}
function checkValue(uint amount) public returns (bool){
return amount >= value;
}
function loan() public returns (bool) {
return value > 0;
}
}
//myfirstcontract is inheriting the bank contract
//it is putting 10 as the amount for the constructor
contract MyFirstContract is Bank (10) {
string private name;
uint private age;
function setName(string memory newName) public {
name = newName;
}
function getName () public view returns (string memory) {
return name;
}
function setAge(uint newAge) public {
age = newAge;
}
function getAge () public view returns (uint) {
return age;
}
}
در صورتی که تجربه خاصی در خصوص برنامهنویسی ندارید میتوانید از دورههای رایگان سایت ما “فرازمان“، استفاده کنید. همچنین اگر به دورههای پیشرفتهتری در این خصوص نیاز داشته باشید، ما با آموزش های حرفه ای که در سایتمان قرار دادیم می توانید به سطح دلخواهتان با تلاش و پشتکار برسید.
نقشه راه
راهنما آکادمی فرازمان
برای یادگیری برنامه نویسی بلاکچین…
در این باره بیشتر بخوانید
دیدگاهتان را بنویسید