Solidity进阶之路:僵尸攻击人类 - 第5章: 继承(Inheritance)

Solidity Path: Beginner to Intermediate Smart Contracts

课程链接:https://cryptozombies.io/zh/lesson/2

你成功晋升到第二课啦!

厉害了,我的人类! 你比我设想的更会编程! 第二课中,你会学到如何通过猎食其他生物,扩张你的僵尸军团在这一课里,我们会使用到一些高级的Solidity概念,所以你一定要先完成第一课。

第5章: 继承(Inheritance)

我们的游戏代码越来越长。当代码过于冗长的时候,最好将代码和逻辑分拆到多个不同的合约中,以便于管理。

有个让Solidity的代码易于管理的功能,就是合约inheritance(继承)

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那里inherits(继承)过来的。这意味着当你编译和部署了BabyDoge,它将可以访问catchphrase()anotherCatchphrase()和其他我们在Doge中定义的其他公共函数。

这可以用于逻辑继承(比如表达子类的时候,Cat是一种Animal)。但也可以简单地将类似的逻辑组合到不同的合约中以组织代码。

你可能感兴趣的:(Solidity,Path,智能合约,以太坊,区块链)