手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

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

时间:2024-10-15 11:53:06

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C#基础:构造函数与析构函数
© 手抄报圈