A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lijun6459991   /  2011-12-15 21:02  /  2902 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

提示: 作者被禁止或删除 内容自动屏蔽

5 个回复

倒序浏览
张旭 黑马帝 2011-12-15 21:56:54
沙发
析构函数与构造函数相反     构造函数  主要用来在创建对象时初始化对象 即为对象成员变量赋初始值     析构函数往往用来做清理善后的工作(如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放

评分

参与人数 1技术分 +1 收起 理由
李荣壮 + 1

查看全部评分

回复 使用道具 举报
构造函数:
它的作用是在建立一个对象时,作某些初始化的工作(例如对数据赋予初值)   如果一个都没有,编译器将为该类产生一个默认的构造函数。
析构函数:
当一个类的对象离开作用域时,析构函数将被调用(系统自动调用)。析构函数的名字和类名一样,不过要在前面加上 ~          对一个类来说,只能允许一个析构函数,析构函数不能有参数,并且也没有返回值。析构函数的作用是完成一个清理工作,如释放从堆中分配的内存。
一个类中可以有多个构造函数,但析构函数只能有一个。对象被析构的顺序,与其建立时的顺序相反,即后构造的对象先析构。

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
刘波 黑马帝 2011-12-19 15:49:29
板凳
构造函数:
什么是构造函数?
通俗的讲,在类中,函数名和类名相同的函数称为构造函数。它的作用是在建立一个对象时,作某些初始化的工作(例如对数据赋予初值)。C#允许同名函数,也就允许在一个类中有多个构造函数。如果一个都没有,编译器将为该类产生一个默认的构造函数。
构造函数
惟一的语法限制是它不能指定返回类型,甚至void 也不行。
不带参数的构造函数:一般形式为 类名 对象名(){函数体}
带参数的构造函数:不带参数的构造函数,只能以固定不变的值初始化对象。带参数构造函数的初始化要灵活的多,通过传递给构造函数的参数,可以赋予对象不同的初始值。一般形式为:构造函数名(形参表);
创建对象使用时:类名 对象名(实参表);
构造函数参数的初始值:构造函数的参数可以有缺省值。当定义对象时,如果不给出参数,就自动把相应的缺省参数值赋给对象。一般形式为:
构造函数名(参数=缺省值,参数=缺省值,……);

析构函数:
当一个类的对象离开作用域时,析构函数将被调用(系统自动调用)。析构函数的名字和类名一样,不过要在前面加上 ~ 。对一个类来说,只能允许一个析构函数,析构函数不能有参数,并且也没有返回值。析构函数的作用是完成一个清理工作,如释放从堆中分配的内存。
一个类中可以有多个构造函数,但析构函数只能有一个。对象被析构的顺序,与其建立时的顺序相反,即后构造的对象先析构。

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
黄山 黑马帝 2011-12-26 13:03:10
报纸
构造函数和析构函数是两个相反的过程 构造函数用来初始化对象 比如 T t=new T() ,T()就是一个构造函数 构造函数是必须有的,不写的话系统会默认给一个,一旦自己写了构造函数 那系统默认的便没有了 构造函数可以有多个 析构函数是用来删除创建的对象的 由于c#有垃圾回收机制 所以析构函数可以不写 和C++比起来 系统自动回收的话 安全了但是效率也低了

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
王兴 黑马帝 2011-12-31 19:50:45
地板
构造函数是用来初始化对象,对对象的一些字段赋值,如new一个对象,则会首先调用相应类的构造函数。
析构函数是用来释放对象所占用资源的函数。当对象的生命周期结束后,会自动调用析构函数

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马