C# 构造函数与析构函数

构造函数用于执行类的实例的初始化。每个类都有构造函数,即使没有声明它,编译器也会自动提供一个默认的构造函数。在访问一个类时,系统将最先执行构造函数中的语句。实际上,任何构造函数的执行都隐式地调用了系统提供的默认的构造函数base()。

(1)构造函数的概念

类可能有多个接收不同参数的构造函数。其使开发人员可设置默认值、限制实例化以及编写灵活且便于阅读的代码。

使用构造函数需要注意一下几个问题:

一个类的构造函数通常与类名相同;

构造函数不声明返回类型;

一般来说,构造函数总是public类型。如果是private类型,表明类不能被实例化,这通常用于只含有静态成员的类;

在构造函数中,不要做对类的实例进行初始化以外的事情,也不要尝试显示地调用构造函数。

构造函数的访问类型:和任何类成员一样,构造函数也可以使用任何一种访问类型,但最常用的是public和protected。

(2)析构函数的概念

在类的实例超出范围时,要确保其所占的存储能被回收,于是就出现了析构函数。C#使用一个垃圾收集器来自动完成大部分的类似工作。

使用析构函数需要注意一下几个问题:

析构函数的名字与类名相同,只是在前面加了一个符号 ~。析构函数不接受任何参数也不返回任何值;

析构函数不能是继承而来的,也不能显式的调用。当某个类的实例被认为不再有效且符合析构的条件时,析构函数就可能在某个时刻被执行,执行时间由.NET Framework决定;

析构函数的编写通常是不必要的,因为.NET Framework会代替开发人员做绝大部分工作。但是,在应用程序封装窗口、文件和网络连接这类非托管资源时,应当使用析构函数释放这些资源。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值