---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
在C#中,构造函数是当类实例化时首先执行的函数。反之,析构函数是当实例从内存中销毁前最后执行的函数。这两个函数的执行是无条件的,并且不需要程序手工干预。也就是说,只要定义一个对象或销毁一个对象,不用显式地调用构造函数或析构函数,系统都会自动在创建对象时调用构造函数,而在销毁对象时调用析构函数。
1.构造函数
在实例化对象的时候,对象的初始化是自动完成的,并且这个对象是空的,我们希望创建一个对象时要为其初始化某些特征,在C#中构造函数是特殊的成员函数。
构造函数的特殊性表现在如下几个方面:
(1)构造函数的函数名和类名的名称一样。
(2)构造函数可以带参数,但没有返回值。
(3)构造函数在对象定义时被自动调用。
(4)如果没有给定义构造函数,则编译系统会自动生成一个默认的构造函数。
(5)构造函数可以被重载,但不可以被继承。
(6)构造函数的类型修饰符总是public。如果是private,则表示这个类不能被实例化,通常用于静态成员类中。
通过构造函数,实现在产生一个学生对象时为其完成起名工作。
using System;
namespace Con
{
public class Student
{
public Student(string_strName)
{
this.strName=_strName;
}
}
class Class1
{
static void Main(string[] args)
{
Student s=new Student("zhangsan");
Console.WriteLine(s.strName);
}
}
}
2.析构函数
在销毁对象时,有时候也希望能自动做一些“收尾”任务,例如关闭数据库连接等。C#使用析构函数来完成这个功能。
析构函数也是类的特殊成员函数,它主要用于释放实例。析构函数的特殊性表现在以下几个方面:
(1)析构函数的名字也与类名相同,只是需要在其前面加一个符号“~”。
(2)析构函数不接收任何参数,没有任何返回值,也没有任何访问关键字。
(3)当撤销对象时,自动调用析构函数。
(4)析构函数不鞥被继承,也不能被重载。
为Student类建立析构函数。
public class Student
{
~Student()
{
Console.WriteLine("Call Destruct Method");
}
}
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------