Cre*_*man 4 constructor function
根据本文,构造函数或初始化函数与合约具有相同的名称。但是,当我有一个同名的函数时,重新混合编译器会返回一个错误,提示“不推荐将构造函数定义为与合约同名的函数。请改用“constructor(...) { ... }”。 ”
所以,我的问题是,在这种情况下使用相同的名称是否应该避免?(也许这是一种过时的做法?)
小智 7
由于Solidity v0.4.23,现在使用关键字指定构造函数 constructor :
constructor () {}
Run Code Online (Sandbox Code Playgroud)
只是为了与旧方法进行比较,假设我们有一个名为 的智能合约Employee,在过去,您可以像这样指定合约及其构造函数:
contract Employee {
// constructor
function Employee() public {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
但现在指定员工智能合约可接受的方式是:
contract Employee {
// constructor
constructor() public {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
现在不推荐使用合约名称作为其构造函数。