Solidity合约继承场景下的构造函数执行顺序
“从远到近,从左到右”
举例,TetherToken
有如下继承关系:
TetherToken is Pausable, StandardToken, BlackList
多重继承时,"从左到右",先初始化 Pausable,再 StandardToken,再 BlackList,每个父合约内部再按继承链顺序初始化其父合约(最顶层到子层)。
对于单继承链 TetherToken -> StandardToken -> BasicToken -> Ownable
,就“从远到近”执行:Ownable() → BasicToken() → StandardToken() → TetherToken()。