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 created

Length of line : 6

破坏者

析构函数是类的特殊成员函数,只要其类的对象超出范围就执行该析构函数,它既不能返回值,也不能采用任何参数。

它的名称与带有代字号(〜)的类的名称完全相同,例如,我们的类名为Demo-

public Demo() { // constructor

   Console.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 created

Length of line : 6

Object is being deleted

以上是 C#中的构造函数和析构函数之间有什么区别? 的全部内容, 来源链接: utcz.com/z/357723.html

回到顶部