在创建某个类时,由于对该对象的状态(数据)不是很明确,因此需要对其进行初始化。比如说我们要在长方形这个类中创建一个对象,或者说新建一个长方形,那么我们首先要确定他的长和宽,假如我们无法确定它的长和宽,那么我们是无法造出一个长方形来的。所以就要使用这个长方形类中一个用来构造该类所有对象的函数——构造函数。由于该函数要在创建一个新对象时使用,因此它不肯能存在于对象之后,那么我们就必须在类中对它进行声明和定义。
如果有一个名称是MyClass的类,其定义的构造函数框架如下:
[csharp] view plain copy
- <span style="font-family:Microsoft YaHei;font-size:18px;">public class MyClass
- {
- public MyClass()
- {
- }
- }</span>
下面就拿计算长方形的面积来举例吧:
首先,声明一个rectangle类:
[csharp] view plain copy
- <span style="font-family:Microsoft YaHei;font-size:18px;">class rectangle
- {
- public rectangle(int w, int h) //构造函数的声明
- {
- width = w;
- high = h;
- }
- public int area()
- {
- return width * high;
- }
- private int width;
- private int high;
- }</span>
其次,将类实例化为A,完成初始化。
[csharp] view plain copy
- <span style="font-family:Microsoft YaHei;font-size:18px;"> Program
- {
- static void Main(string[] args)
- {
- rectangle A = new rectangle(3,4); //创建对象A时执行了初始化
- Console.WriteLine("长方形的面积为{0}",A.area());
- }
- }</span>
最后,要注意的是, 构造函数没有返回值,而且一个类可以有多个构造函数。使用有参数的构造函数时,需要自己写一个空参数的构造函数。
时间: 2024-10-22 12:31:59