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#基础:构造函数与析构函数
  • phpStudy学习之 如何用Mysqlfront 管理数据库
  • VS2013读取配置文件app.config的字段的值C#编程
  • 饭后什么时候可以练瑜伽
  • protel99se经验:[2]如何收集已有文件的封装
  • c#数字输入框如何显示01
  • 热门搜索
    手抄报关于读书 做美德少年手抄报 初一历史手抄报 快乐阅读手抄报内容 国庆节手抄报简单又好画 简单的手抄报 关于体育精神的手抄报 快乐五一英语手抄报 宪法手抄报图片大全 新书推荐手抄报