构造函数的理解
solidity
solidity构造函数指的是在合约部署的时候自动执行,如果在其他合约通过new等方式来实列化合约,则构造函数不会执行
contract TestContract{
address public proxyAddress;
constructor(){
proxyAddress=msg.sender;
}
}
contract Validate{
function newContract() external returns(address){
TestContract test=new TestContract();
return address(test);
}
}
其他高级语言
常用的编程语言java、go、python等高级语言,实列化对象时都会执行其构造函数。
总结
构造函数执行逻辑不一致,solidity只在部署时执行一次,其他语言在每次实列化对象时都会执行