引入与继承
上一节
下一节
继承
就像Java、C++中,类的继承一样,Solidity中,合约继承是扩展合约功能的一种方式。Solidity支持单继承和多继承。
例子:
contract Doge {
function catchphrase() public returns (string) {
return "So Wow CryptoDoge";
}
}
contract BabyDoge is Doge {
function anotherCatchphrase() public returns (string) {
return "Such Moon BabyDoge";
}
}由于 BabyDoge 是从 Doge 那里继承过来的。 这意味着当你编译和部署了 BabyDoge,它将可以访问 catchphrase() 和 anotherCatchphrase()和其他我们在 Doge 中定义的其他公共函数。
引入
在 Solidity 中,当你有多个文件并且想把一个文件导入另一个文件时,可以使用 import 语句。
使用 import "./x" 从当前目录导入文件x。
例子:
import "./doge.sol";
contract BabyDoge is Doge {
}实战练习
在我们开发区块链宠物游戏的过程中,代码一定会越来越长。当代码过于冗长的时候,最好将代码和逻辑分拆到多个文件和多个不同的合约中,以便于管理。
现在我们已经建立了一个多文件架构,你的编辑器的顶部多了个名为 petmating.sol 的文件。我们将要为宠物添加新的功能,让它可以进行配对繁殖。
将
petincubator.sol导入到我们的新文件petmating.sol中。创建一个叫
PetMating的合约继承PetIncubator的合约。

