实验4.6 构造函数

《孙子兵法》有言“以谋为上,先谋而后动。”就如项目管理一样,第一件事情就是定计划。而写代码也是一门“管理学”,只不过管理对象不是活生生的人而是指尖上敲打的代码。Soldity语言中最具有预见性与谋略的,莫过于构造函数了。

实验目的

1. 了解Solidity构造函数的结构与命名格式的变化。

2. 明白构造函数设置的作用与意义。

实验要求

1. 查看示例1代码,这是构造函数的早期格式,判断编译是否通过?

2. 查看示例2的代码,判断合约部署后num的值是多少?将你觉得的结果填入注释的问题1的括号内。然后编译部署,调出num的值,检查结果。

3. 示例3的构造函数设置了参数,请你将示例3编译并部署出来,再查看num的值为多少,思考构造函数的作用,并举1-2个你认为可以运用到构造函数的例子。

以下是本次实验所使用到的测试代码,请使用remix编辑器完成该实验

// 示例1
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract constructorTest{ 
     uint public num;  
     function constructorTest() public {
       num = 100; 
    }
}
// 示例2
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
//合约部署后,num的值是多少?  (1)
contract constructorTest{ 
    uint public num = 1; 
    constructor() public {
    	num = 100;
    }
}
// 示例3
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract constructorTest{ 
    uint public num = 1; 
    constructor(uint _newNum) public {
    	num = _newNum;
    }
}

下面是本次实验所配套的视频教程: