Vivasoft-logo

কনস্ট্রাক্টর ওভারলোডিং (Constructor Overloading):

কনস্ট্রাক্টর ওভারলোডিং বলতে বুঝায় একটি ক্লাসের একাধিক কন্সট্রাক্টর থাকবে যাদের আলাদা আলাদা প্যারামিটার থাকবে, যাতে করে প্রত্যেকটি কন্সট্রাক্টর দ্বারা বিভিন্ন রকম অবজেক্ট তৈরি করা যায় ।

class MyClass {
    private int value;
private String name;
    // Constructor with no parameters
    public MyClass() {
        System.out.println(“No argument Constructor”);
        this.value = 0;
        this.name = “Default Name”;
    }
    // Constructor with one parameter
    public MyClass(int value) {
        System.out.println(“Constructor with int parameter”);
        this.value = value;
        this.name = “Default Name”;
    }
    // Constructor with two parameters
    public MyClass(int value, String name) {
        System.out.println(“Constructor with int and String parameters”);
        this.value = value;
        this.name = name;
    }
    public void display() {
        System.out.println(“Value: ” + value + “, Name: ” + name);
    }
}
class Main{
    public static void main(String[] args) {
        MyClass obj1 = new MyClass();                      // Default Constructor
        MyClass obj2 = new MyClass(10);                    // Constructor with int parameter
     MyClass obj3 = new MyClass(20, “Custom Name”);    // Constructor with int and String parameters
        obj1.display();
        obj2.display();
       obj3.display();
    }
}

উপরের উদাহরণে ভিন্ন প্যারামিটার যুক্ত তিনটি কনস্ট্রাকটর ডিফাইন করা হয়েছে। এখানে কন্সট্রাক্টর গুলোর প্যারামিটারের সংখ্যা এবং টাইপের উপর ভিত্তি করে ওভারলোড করা হয়েছে ।

উদাহরণ : https://dotnetfiddle.net/QNyuSV

using System;
public class MyClass {
    private int value;
    private string name;
    // Constructor with no parameters
    public MyClass() {
        Console.WriteLine(“No argument Constructor”);
        this.value = 0;
        this.name = “Default Name”;
    }
    // Constructor with one parameter
    public MyClass(int value) {
        Console.WriteLine(“Constructor with int parameter”);
        this.value = value;
        this.name = “Default Name”;
    }
    // Constructor with two parameters
    public MyClass(int value, string name) {
        Console.WriteLine(“Constructor with int and String parameters”);
        this.value = value;
        this.name = name;
    }
    public void Display() {
        Console.WriteLine(“Value: ” + value + “, Name: ” + name);
    }
}
public class MainClass {
    public static void Main(string[] args) {
        MyClass obj1 = new MyClass();                      // Default Constructor
        MyClass obj2 = new MyClass(10);                    // Constructor with int parameter
        MyClass obj3 = new MyClass(20, “Custom Name”);    // Constructor with int and String parameters
        obj1.Display();
        obj2.Display();
        obj3.Display();
    }
}

Output:

//Output (আউটপুট)
No argument Constructor
Constructor with int parameter
Constructor with int and String parameters
Value: 0, Name: Default Name
Value: 10, Name: Default Name
Value: 20, Name: Custom Name