C#中的构造函数和析构函数之间有什么区别?
构造函数
类构造函数是类的特殊成员函数,只要我们创建该类的新对象,该构造函数便会执行。
构造函数的名称与类的名称完全相同,并且没有任何返回类型。
构造函数具有与类名称相同的名称-
class Demo {public Demo() {}
}
以下是一个例子-
示例
using System;namespace LineApplication {
class Line {
private double length; // Length of a line
public Line() {
Console.WriteLine("Object is being created");
}
public void setLength( double len ) {
length = len;
}
public double getLength() {
return length;
}
static void Main(string[] args) {
Line line = new Line();
//设置线长
line.setLength(6.0);
Console.WriteLine("Length of line : {0}", line.getLength());
Console.ReadKey();
}
}
}
输出结果
Object is being createdLength of line : 6
破坏者
析构函数是类的特殊成员函数,只要其类的对象超出范围就执行该析构函数,它既不能返回值,也不能采用任何参数。
它的名称与带有代字号(〜)的类的名称完全相同,例如,我们的类名为Demo-
public Demo() { // constructorConsole.WriteLine("Object is being created");
}
~Demo() { //destructor
Console.WriteLine("Object is being deleted");
}
让我们看一个例子来学习如何在C#中使用析构函数-
示例
using System;namespace LineApplication {
class Line {
private double length; // Length of a line
public Line() { // constructor
Console.WriteLine("Object is being created");
}
~Line() { //destructor
Console.WriteLine("Object is being deleted");
}
public void setLength( double len ) {
length = len;
}
public double getLength() {
return length;
}
static void Main(string[] args) {
Line line = new Line();
//设置线长
line.setLength(6.0);
Console.WriteLine("Length of line : {0}", line.getLength());
}
}
}
输出结果
Object is being createdLength of line : 6
Object is being deleted
以上是 C#中的构造函数和析构函数之间有什么区别? 的全部内容, 来源链接: utcz.com/z/357723.html