概念:构造方法,大家也习惯叫做构造函数,构造方法与类名是相同的,没有返回值,同时也不需要void关健字,但是可以设置参数。构造方法是在实例化(new)时调用的,从而我们可以通过构造函数对类进行一些初始化的设置。
例:
{
private string strI = ""; //声明一个字段strI
/// <summary>
/// 在构造函数中为strI初始化值
/// </summary>
public Test()
{
strI = "状态比能力重要";
}
/// <summary>
/// 用Run方法返回strI
/// </summary>
/// <returns></returns>
public string Run()
{
return strI;
}
}
{
static void Main(string[] args)
{
Test T = new Test();//建立对象T的引用为Test,并为实例化。
Console.WriteLine(T.Run());//T.Run为对象T中的方法。
Console.ReadLine();
}
}
在实际的应用中,我们经常会遇到在实例化对象时,就需要为类中传递一些参数,这种情况下,我们可以使用构造方法的参数。比如,我们为上例增加一个叙述者的名字,并可以让叙述者说不同的话:
{
private string strI = ""; //声明一个字段strI
/// <summary>
/// 在构造函数中为strI初始化值
/// </summary>
public Test(string name,string strI)
{
this.strI = name +"说:"+ strI;
}
/// <summary>
/// 用Run方法返回strI
/// </summary>
/// <returns></returns>
public string Run()
{
return strI;
}
{
static void Main(string[] args)
{
Test T = new Test("×××", "我们爱我们的民族,这是我们自信心的源泉。");//建立对象T的引用为Test,并为实例化。
Console.WriteLine(T.Run());//T.Run为对象T中的方法。
Console.ReadLine();
}
}
构造方法在实际的开发过程中应用非常广泛,包括在应用设计模式时同样会有非常多的地方用到。
析构方法,也叫析构函数,是用来析构类的实例释放资源的。不过很多时候我们不需要去应用析构方法,因为.NET Framework 垃圾回收器会隐式地管理对象的内存分配和释放,但是,当应用程序封装窗口、文件和网络连接这类非托管资源时,应当使用析构函数释放这些资源。
例:
{
~Test()
{
}
}
类中能有多个构造方法可以形成重载,但是只能有一个析构方法。
构造方法能有修饰符及参数,而析构方法既没有修饰符,也没有参数。
构造方法和析构方法无法继承,构造方法可以被重载,析构方法不可以。
构造方法和析构方法都无法调用,他们都是自动运行的。