// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface A {
function a()external view returns(uint256);
function setA(uint256 _a)external;
function KK() external;}
2.智能合约B
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;import"../interfaces/A.sol";
contract B is A {
uint256 k;
constructor(){
}
function a() public override view returns (uint256){
return k;}
function setA(uint256 _a) public override {
k = _a;}
function b() public pure returns (uint256){
return123;}}
3.C调用B中数据
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
interface A {
function a() external view returns (uint256);
function setA(uint256 _a) external;}
contract C {
A public a;
constructor(address _addr){
a = A(_addr);}
function getA() view public returns (uint256){
return a.a();}
function setNum(uint256 _a) public {
a.setA(_a);}
function c() public pure returns (uint256){
return159;}}