养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

C#基础:构造函数与析构函数

时间:2024-09-20 20:29:18

学习面向对象语言的同学,应该都听过构造函数与析构函数的概念,那么他们到底是什么意思,实际编程中如何使用他们。下面我们来讲一讲。

C#基础:构造函数与析构函数

工具/原料

visualstudio2013

方法/步骤

1、我们先写一个例子,方便后面的讲解。如下图:

C#基础:构造函数与析构函数

2、上步中我们定义了一个P娣定撰钠erson,在Main()方法中,定义了一个Person的实例。大家看看定义Perso荏鱿胫协n的语句,Personperson=newPerson();为什么要在newPerson后面加一对括号呢。我们在调用某一方法时,会使用括号。这会不会也是在调用某一个方法呢。是的,它是调用的Person类的构造方法。

C#基础:构造函数与析构函数

3、可是我们看到,Person类里空空如也。没有定义任何的方法呀。那么第一个知识点来啦:当一个类,没有定义任何的构造方法时,C#会自定添加一个没有任何参数的构造方法。

C#基础:构造函数与析构函数

4、下面我们定义一个构造方法,并写代码验证newPerson()语句,调用了构造方法,如下图:

C#基础:构造函数与析构函数

5、从上图中可见,Main函数中只有一条new语句,如果输出“Person构造方法”,就说明:new语句调用了构造方法。下图是输出结果:

C#基础:构造函数与析构函数

6、通过上图的输出结果,可以得出,new语句确实调用了构造傲艟茏慕方法。下面第二个知识点,构造方法的书写形式。首先是权限描述符public/protected砖镑苣逢/private。然后方法名和类名一致,不能是其它的名字。后面是参数列表。注意:构造函数不能有返回值,也不能加void。

C#基础:构造函数与析构函数

7、介绍了构造函数的写法,下面讲构造函数的第三个知识点,构造函数可以重载。也就是说可以定义多个构造函数。比如我们再定义有参数的Person构造方法。如下图:

C#基础:构造函数与析构函数

8、那么问题来了,此时有两个构造方法,当定义绯摺驼予Person类的实例时,到底调用哪个构造函数呢?这个需要根据New语句来判断。NewPerson()语句,调用的就是无参鹚兢尖睁的构造方法。NewPerson("Tom")语句,调用的就是有参的构造方法。下面写代码进行验证,调用有参的构造方法。

C#基础:构造函数与析构函数

C#基础:构造函数与析构函数

9、根据构造函数的特点,实际编程中,可以使用构造函数传递类属性的初始值,也可以在构造函数中,做一些必须的初始化工作。如下图:

C#基础:构造函数与析构函数

10、下面说说析构函数,析构函数是在类消亡的时候调用的,由于C#是自定回收类机制,所以没法手动调用到构造函数。下面就演示一下,析构函数的写法吧如下图:

C#基础:构造函数与析构函数

11、根据析构函数的特点:在实际编程中,把改类申请的资源,都在析构函数中释放掉。

C#基础:构造函数与析构函数

© 一点知识