Skip to content

合约继承

Solidity 支持合约继承功能。

合约继承允许在一个合约中重用另一个合约的代码,这样可以提高代码的重用性和可维护性。

Solidity 中,合约继承使用关键字 is 来实现。

示例

下面是一个示例,演示了如何从一个称为 Parent 的合约中继承并重用代码:

solidity
pragma solidity ^0.8.0;

// 父合约
contract Parent {
    uint public x;

    function setX(uint _x) public {
        x = _x;
    }
}

// 子合约继承Parent合约并重用其代码
contract Child is Parent {
    // 子合约重用了Parent合约中的setX方法
    function doubleX() public {
        x = x * 2;
    }
}

在上面的示例中,Parent 合约定义了一个公共状态变量 x 和一个名为 setX 的公共函数。

Child 合约继承并重用了 Parent 合约中的代码,包括 x 状态变量和 setX函数。

同时,Child 合约还定义了一个名为 doubleX 的函数来修改 x 变量的值。

在实际开发中,合约继承是非常有用的,可以帮助程序员更快地开发应用,并且可以提高代码的可读性和可维护性。