帖子
分享您的知识。
Is it possible to define a constructor in Solidity using the contract name and function keyword?
I have seen constructors in Solidity defined with the constructor keyword within the contract, as shown below:
contract Person {
address public owner;
// Constructor
constructor() {
owner = msg.sender;
}
// Other functions and variables...
}
However, I'm curious if it's valid to define the constructor using the contract name and function keyword, like this:
contract Person {
address public owner;
// Constructor
function Person() public payable {
owner = msg.sender;
}
// Other functions and variables...
}
Would this alternative way of defining the constructor work in Solidity, or is it necessary to use the constructor keyword?
- Smart Contract
- Quests
请在下面找到答案
谢谢. .
答案
3在 Solidity 的 0.4.22 版本之前,构造函数被定义为与合约同名的函数. 但是,此语法已被弃用,从 0.5.0 版开始不再允许使用.
谢谢!
不,无法在 Solidity 中使用合约名称和function
关键字定义构造函数. Solidity 中的构造函数是使用constructor
关键字明确定义的,它们不使用合约的命名惯例,这是其他一些编程语言的要求. 例如:
contract MyContract {
constructor() {
// Initialization code
}
}
在此示例中,构造函数是使用constructor
关键字定义的,而不是MyContract
后面的function
.
在 Solidity 中,使用在创建合约时执行的特殊函数定义构造函数. 定义构造函数的语法不使用函数关键字;相反,它直接使用合约的名称,用作构造函数的名称.
你知道答案吗?
请登录并分享。
Sui is an innovative, decentralized Layer 1 blockchain that redefines asset ownership.