24일 - 다중 상속
특사-VC / 30일의 견고함
스마트 계약 개발을 배우기 위한 30일간의 Solidity 단계별 가이드.
Solidity Series의
24
중 Day30
입니다.오늘은 Solidity에서 다중 상속에 대해 배웠습니다.
다중 상속
다중 상속에서는 단일 계약이 여러 계약에서 상속될 수 있습니다. 상위 계약에는 둘 이상의 하위가 있을 수 있고 하위 계약에는 둘 이상의 상위가 있을 수 있습니다.
예: 아래 예에서 계약 A는 계약 B에 의해 상속되고 계약 C는 계약 A와 계약 B를 상속하므로 다중 상속을 보여줍니다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
// Defining contract A
contract A {
string internal x;
function setA() external {
x = "Multiple Inheritance";
}
}
// Defining contract B
contract B {
uint256 internal pow;
function setB() external {
uint256 a = 2;
uint256 b = 20;
pow = a**b;
}
}
// Defining child contract C
// inheriting parent contract
// A and B
contract C is A, B {
// Defining external function
// to return state variable x
function getStr() external returns (string memory) {
return x;
}
// Defining external function
// to return state variable pow
function getPow() external returns (uint256) {
return pow;
}
}
// Defining calling contract
contract caller {
// Creating object of contract C
C contractC = new C();
// Defining public function to
// return values from functions
// getStr and getPow
function testInheritance() public returns (string memory, uint256) {
contractC.setA();
contractC.setB();
return (contractC.getStr(), contractC.getPow());
}
}
산출:
testInheritance 함수를 호출하면 출력은 ("Multiple Inheritance", 1024)입니다.
Reference
이 문제에 관하여(24일 - 다중 상속), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/envoy_/day-24-multiple-inheritance-2c1n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)