Solidity 是以太坊智能合约的编程语言,其中继承和多态是两个非常重要的概念。继承允许开发者基于已有的智能合约创建新的合约,而多态则使得合约可以表现出不同的行为。

什么是继承?

在面向对象编程中,继承是指一个类可以从另一个类继承属性和方法。在 Solidity 中,合约也可以继承其他合约。

语法

继承一个合约的语法如下:

contract BaseContract {
    // ... 基础合约代码 ...
}

contract DerivedContract is BaseContract {
    // ... 派生合约代码 ...
}

多态

多态是指在多个继承关系中,当使用父类引用指向子类对象时,可以根据运行时类型来决定调用哪个方法。

例子

以下是一个简单的例子,展示如何在 Solidity 中使用继承和多态。

contract Base {
    function doSomething() public pure returns (string) {
        return "Base contract called";
    }
}

contract Child is Base {
    function doSomething() public pure override returns (string) {
        return "Child contract called";
    }
}

在这个例子中,Child 合约继承自 Base 合约,并重写了 doSomething 函数。

相关链接

想了解更多关于 Solidity 继承和多态的信息,请查看我们的 Solidity 基础教程

<center><img src="https://cloud-image.ullrai.com/q/Solidity_logo/" alt="Solidity_Logo"/></center>