C#构造函数和析构函数

概述:
1、构造函数和析构函数是类中比较特殊的两种成员函数,分别用来对对象进行初始化和回收对象资源。
构造函数—————对象初始化!!!
析构函数—————回收对象资源!!
2、对象的生命周期从构造函数开始,从析构函数结束。如果一个类含有构造函数,在实例化该类的对象时就会被调用。如果含有析构函数,则会在销毁对象时调用。
3、构造函数的名字与类名相同,析构函数的名字也跟类名相同,不过析构函数要在名字前加一个波浪号(~)。当退出含有该对象的成员时,析构函数会自动释放这个对象所占用的空间,所以说析构函数是GC自动调用的,不是程序员所控制的。
如:类是Program那么构造函数为public Program(){},里面可带参数
析构函数为~Program(){}
==========================================================
构造函数
构造函数有3个特点:
(1)方法名与类名相同
(2)没有返回类型
(3)主要完成对象的初始化工作
(4)分为无参构造函数和有参构造函数两种
(5)刚开始系统会自动创建一个无参构造函数,但当你创建好了一个有参构造函数后,系统就不再提供这个无参构造函数了
1、用来初始化新对象的数据成员
2、不带参数的构造函数称为“默认构造函数”。无论何时,只要使用new运算符实例化对象,并且不再为new提供任何参数,就会调用默认构造函数。
 

 

上面的是默认构造函数,下面是带有参数的构造函数
 

 

 

常见错误:
 

 

能看出哪里错吗?
你的构造函数有返回值类型吗?为什么多加了个“string”呢!!!!!!!应去掉string
析构函数
 

 

一个类中只能有一个析构函数,并且无法调用析构函数,他是被自动调用的
 
 
======================================================================
最后稍微介绍下 重载构造函数
满足的条件是: (1)方法名相同
(2)方法的参数类型、个数、顺序至少有一项不相同
 

posted on   拭不去の泪痕  阅读(5538)  评论(1编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示