কম্পিউটার

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

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

আউটপুট

Object is being created
Length of line : 6

ধ্বংসকারী

একটি ডেস্ট্রাক্টর হল একটি ক্লাসের একটি বিশেষ সদস্য ফাংশন যা যখনই তার ক্লাসের একটি বস্তু সুযোগের বাইরে চলে যায় তখন এটি চালানো হয়৷ এটি কোনও মান ফেরত দিতে পারে না বা এটি কোনও প্যারামিটার নিতে পারে না৷

এটির একটি প্রিফিক্সড টিল্ড (~) সহ ক্লাসের ঠিক একই নাম রয়েছে, উদাহরণস্বরূপ, আমাদের ক্লাসের নাম হল ডেমো −

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

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

C# −

-এ Destructors এর সাথে কিভাবে কাজ করতে হয় তা শিখতে একটি উদাহরণ দেখা যাক

উদাহরণ

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

আউটপুট

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

  1. জাভাতে JTextField এবং JTextArea এর মধ্যে পার্থক্য কি?

  2. জাভাতে JFrame এবং JDialog এর মধ্যে পার্থক্য কি?

  3. Wi-Fi 6 এবং 5G নেটওয়ার্কের মধ্যে পার্থক্য কী?

  4. Windows 10 এবং Windows 11 এর মধ্যে পার্থক্য কি?