继承
使用 is 实现继承:
contract Child is Parent{}
父合约:
virtual:说明此方法可以被重写
contract Parent {
function speak() public virtual{}
function eat() public{}
}
子合约:
override: 重写父合约的方法
super.函数名(): 调用父合约的方法
contract Child is Parent {
function speak() public override{}
super.eat()
}
多重继承
contract Child is Parent1, Parent2 {
function foo() public {
super.foo(); // 这会调用Paren2的foo函数
}
}