কম্পিউটার

জাভাতে ডিফল্ট কনস্ট্রাক্টর এবং প্যারামিটারাইজড কনস্ট্রাক্টরের মধ্যে পার্থক্য কী?


ডিফল্ট কনস্ট্রাক্টর

  • একটি ডিফল্ট কনস্ট্রাক্টর হল একটি 0 আর্গুমেন্ট কনস্ট্রাক্টর যেটিতে সুপার ক্লাস কনস্ট্রাক্টরের কাছে একটি নো-আর্গুমেন্ট কল রয়েছে।
  • নতুন তৈরি বস্তুতে ডিফল্ট মান নির্ধারণ করা ডিফল্ট কনস্ট্রাক্টরের প্রধান দায়িত্ব।
  • কোডটিতে কম্পাইলার একটি ডিফল্ট কনস্ট্রাক্টর লেখে শুধুমাত্র যদি প্রোগ্রামটি ক্লাসে কোন কনস্ট্রাক্টর না লেখে।
  • ডিফল্ট কনস্ট্রাক্টরের অ্যাক্সেস মডিফায়ার সবসময় ক্লাস মডিফায়ারের মতোই কিন্তু এই নিয়মটি শুধুমাত্র “পাবলিক” -এর জন্য প্রযোজ্য এবং “ডিফল্ট” মডিফায়ার।

কখন কম্পাইলার একটি ডিফল্ট কনস্ট্রাক্টর যোগ করবে

  • কম্পাইলার কোডে একটি ডিফল্ট কনস্ট্রাক্টর যোগ করে তখনই যখন প্রোগ্রামার কোডে কোন কনস্ট্রাক্টর না লেখে।
  • যদি প্রোগ্রামার কোডে কোনো কনস্ট্রাক্টর লেখে, তাহলে কম্পাইলার কোনো কনস্ট্রাক্টর যোগ করে না।
  • প্রতিটি ডিফল্ট কনস্ট্রাক্টর একটি 0 আর্গুমেন্ট কনস্ট্রাক্টর কিন্তু প্রতি 0 আর্গুমেন্ট কনস্ট্রাক্টর ডিফল্ট কনস্ট্রাক্টর নয়৷

প্যারামিটারাইজড কনস্ট্রাক্টর

  • প্যারামিটারাইজড কনস্ট্রাক্টর হল কনস্ট্রাক্টর যাদের নির্দিষ্ট সংখ্যক আর্গুমেন্ট আছে পাস করতে হবে।
  • একটি প্যারামিটারাইজড কনস্ট্রাক্টরের উদ্দেশ্য হল বিভিন্ন অবজেক্টের ইনস্ট্যান্স ভেরিয়েবলে ব্যবহারকারী-কাঙ্খিত নির্দিষ্ট মান নির্ধারণ করা।
  • একটি প্যারামিটারাইজড কনস্ট্রাক্টর একটি প্রোগ্রামার দ্বারা স্পষ্টভাবে লেখা হয়৷
  • ডিফল্ট কনস্ট্রাক্টরের অ্যাক্সেস মডিফায়ার সবসময় ক্লাস মডিফায়ারের মতোই কিন্তু এই নিয়মটি শুধুমাত্র “পাবলিক”-এর জন্য প্রযোজ্য এবং “ডিফল্ট” মডিফায়ার।

উদাহরণ

public class Student {
   int roll_no;
   String stu_name;
   Student(int i, String n) { // Parameterized constructor
      roll_no = i;
      stu_name = n;
   }
   void display() {
      System.out.println(roll_no+" "+stu_name);
   }
   public static void main(String args[]) {
      Student s1 = new Student(1,"Adithya");
      Student s2 = new Student(2,"Jai");
      s1.display();
      s2.display();
   }
}

উপরের প্রোগ্রামে, প্রোগ্রামার 2 প্যারামিটার সহ একটি প্যারামিটারাইজড কনস্ট্রাক্টরকে সংজ্ঞায়িত করে। এখন কম্পাইলার কোডে কোনো ডিফল্ট কনস্ট্রাক্টর যোগ করে না এবং প্রোগ্রামার কোনো 0 আর্গুমেন্ট কনস্ট্রাক্টর লেখেনি।

আউটপুট

1 Adithya
2 Jai

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

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

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

  4. জাভাতে GridLayout এবং GridBagLayout এর মধ্যে পার্থক্য কি?