Computer >> Máy Tính >  >> Lập trình >> C#

Sự khác biệt giữa hàm tạo và hàm hủy trong C # là gì?

Trình tạo

Phương thức khởi tạo lớp là một hàm thành viên đặc biệt của một lớp được thực thi bất cứ khi nào chúng ta tạo các đối tượng mới của lớp đó.

Một hàm tạo có tên giống hệt với tên của lớp và nó không có bất kỳ kiểu trả về nào.

Hàm tạo có cùng tên với tên lớp -

class Demo {

   public Demo() {}

}

Sau đây là một ví dụ -

Ví dụ

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();

         // set line length
         line.setLength(6.0);
         Console.WriteLine("Length of line : {0}", line.getLength());
         Console.ReadKey();
      }
   }
}

Đầu ra

Object is being created
Length of line : 6

Bộ hủy

Hàm hủy là một hàm thành viên đặc biệt của một lớp được thực thi bất cứ khi nào một đối tượng của lớp đó vượt ra khỏi phạm vi, nó không thể trả về giá trị cũng như không thể nhận bất kỳ tham số nào.

Nó có tên giống hệt với tên của lớp có dấu ngã ở trước (~), ví dụ:tên lớp của chúng ta là Demo -

public Demo() { // constructor
   Console.WriteLine("Object is being created");
}

~Demo() { //destructor
   Console.WriteLine("Object is being deleted");
}

Hãy để chúng tôi xem một ví dụ để tìm hiểu cách làm việc với Trình hủy trong C # -

Ví dụ

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();

         // set line length
         line.setLength(6.0);
         Console.WriteLine("Length of line : {0}", line.getLength());
      }
   }
}

Đầu ra

Object is being created
Length of line : 6
Object is being deleted