Constructors এবং Default Parameters

Computer Programming - গ্রুভি (Groovy) Object-Oriented Programming in Groovy (অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং) |
194
194

Groovy তে Constructors এবং Default Parameters

Constructors এবং Default Parameters দুটি গুরুত্বপূর্ণ ধারণা যা Groovy তে ক্লাস এবং অবজেক্ট তৈরি করার সময় ব্যবহৃত হয়। এগুলি কোড লেখার সময় লজিকালভাবে সুবিধাজনক হয় এবং কোডের পুনঃব্যবহারযোগ্যতা এবং নমনীয়তা বৃদ্ধি করে।


1. Constructors in Groovy

Constructor একটি বিশেষ ধরনের মেথড যা একটি ক্লাসের নতুন অবজেক্ট তৈরি করার জন্য ব্যবহৃত হয়। এটি সাধারণত ক্লাসের নামের সাথে মিল হয় এবং কোন ভ্যালু বা প্যারামিটার ছাড়া অবজেক্ট তৈরি করা হলে ডিফল্ট কন্সট্রাক্টর ব্যবহার করা হয়। Groovy তে কন্সট্রাক্টরের ব্যবহার Java এর মতোই, তবে Groovy এর বৈশিষ্ট্য অনুযায়ী এটি আরও সহজ এবং সংক্ষিপ্ত।

Groovy তে Constructor এর মৌলিক ব্যবহার:

Groovy তে, আপনি কন্সট্রাক্টর ডিফাইন করতে পারেন যেটি প্যারামিটার গ্রহণ করে এবং অবজেক্ট ইনিশিয়ালাইজ করে। যদি আপনি কন্সট্রাক্টর ডিফাইন না করেন, Groovy স্বয়ংক্রিয়ভাবে একটি ডিফল্ট কন্সট্রাক্টর প্রদান করে।

উদাহরণ (Constructor with Parameters):

class Person {
    String name
    int age

    // Constructor
    Person(String name, int age) {
        this.name = name
        this.age = age
    }

    // Method to display details
    void displayDetails() {
        println "Name: $name, Age: $age"
    }
}

def person = new Person("John", 30)
person.displayDetails()  // Output: Name: John, Age: 30

এখানে Person ক্লাসে একটি কন্সট্রাক্টর রয়েছে যা name এবং age প্যারামিটার গ্রহণ করে। যখন new Person("John", 30) কল করা হয়, তখন এই কন্সট্রাক্টর ব্যবহার করে অবজেক্ট তৈরি হয়।

Groovy তে Default Constructor:

যদি আপনি কন্সট্রাক্টর না দেন, তবে Groovy স্বয়ংক্রিয়ভাবে একটি ডিফল্ট কন্সট্রাক্টর প্রদান করবে যা কোনো প্যারামিটার গ্রহণ করবে না।

class Person {
    String name
    int age

    // Default constructor
}

def person = new Person()  // No parameters, default constructor used
person.name = "Alice"
person.age = 25
println "Name: $person.name, Age: $person.age"  // Output: Name: Alice, Age: 25

এখানে, Person ক্লাসে কোনো কন্সট্রাক্টর ডিফাইন না করায় Groovy একটি ডিফল্ট কন্সট্রাক্টর ব্যবহার করেছে এবং পরে ভেরিয়েবলগুলির মান সেট করা হয়েছে।


2. Default Parameters in Groovy

Groovy তে আপনি default parameters ব্যবহার করতে পারেন, যা ফাংশন বা কন্সট্রাক্টরের প্যারামিটারগুলির জন্য ডিফল্ট মান প্রদান করে। যদি কোনো প্যারামিটার ফাংশন বা কন্সট্রাক্টর কল করার সময় প্রদান না করা হয়, তাহলে ডিফল্ট মানটি ব্যবহার করা হবে।

উদাহরণ (Default Parameters):

class Person {
    String name
    int age

    // Constructor with default parameters
    Person(String name = "Unknown", int age = 18) {
        this.name = name
        this.age = age
    }

    void displayDetails() {
        println "Name: $name, Age: $age"
    }
}

def person1 = new Person("John", 30)
def person2 = new Person()

person1.displayDetails()  // Output: Name: John, Age: 30
person2.displayDetails()  // Output: Name: Unknown, Age: 18

এখানে, Person ক্লাসের কন্সট্রাক্টরে ডিফল্ট মান দেওয়া হয়েছে:

  • name এর ডিফল্ট মান "Unknown"
  • age এর ডিফল্ট মান 18

যখন new Person() কল করা হয়, কোনো প্যারামিটার না দেয়ার কারণে ডিফল্ট মানগুলি ব্যবহার করা হয়। আর যখন new Person("John", 30) কল করা হয়, তখন প্রদত্ত মানগুলোই ব্যবহার করা হয়।

ফাংশনে Default Parameters:

Groovy তে ফাংশনেও আপনি ডিফল্ট প্যারামিটার ব্যবহার করতে পারেন। এর ফলে ফাংশনে কোনো প্যারামিটার না দেওয়া হলে ডিফল্ট মান ব্যবহার করা হবে।

def greet(String name = "Guest") {
    println "Hello, $name!"
}

greet("John")  // Output: Hello, John!
greet()        // Output: Hello, Guest!

এখানে, greet ফাংশনে name প্যারামিটারের জন্য একটি ডিফল্ট মান "Guest" দেওয়া হয়েছে। যদি ফাংশন কল করার সময় name প্রদান করা না হয়, তাহলে "Guest" ব্যবহার হবে।


3. Constructor Overloading

Groovy তে, যেমন Java তে, কন্সট্রাক্টর ওভারলোডিং সম্ভব। আপনি একাধিক কন্সট্রাক্টর ডিফাইন করতে পারেন যা ভিন্ন ভিন্ন প্যারামিটার সংখ্যা বা টাইপ গ্রহণ করবে। তবে, Groovy তে এটি Java এর মতো কঠিন নয়, কারণ Groovy স্বয়ংক্রিয়ভাবে কমপ্লেক্স কন্সট্রাক্টরও পরিচালনা করতে পারে।

উদাহরণ (Constructor Overloading):

class Person {
    String name
    int age

    // First constructor
    Person(String name) {
        this.name = name
        this.age = 18  // Default age
    }

    // Second constructor
    Person(String name, int age) {
        this.name = name
        this.age = age
    }

    void displayDetails() {
        println "Name: $name, Age: $age"
    }
}

def person1 = new Person("John")
def person2 = new Person("Alice", 30)

person1.displayDetails()  // Output: Name: John, Age: 18
person2.displayDetails()  // Output: Name: Alice, Age: 30

এখানে, Person ক্লাসে দুটি কন্সট্রাক্টর রয়েছে:

  1. একটি কন্সট্রাক্টর যা শুধুমাত্র name গ্রহণ করে এবং age এর ডিফল্ট মান প্রদান করে।
  2. আরেকটি কন্সট্রাক্টর যা name এবং age উভয়ই গ্রহণ করে।

সারসংক্ষেপ:

  1. Constructors: Groovy তে, constructors ক্লাসের অবজেক্ট তৈরি করতে ব্যবহৃত হয়। আপনি কন্সট্রাক্টর প্যারামিটারসহ অথবা ডিফল্ট কন্সট্রাক্টর ব্যবহার করতে পারেন।
  2. Default Parameters: Groovy তে, আপনি ফাংশন বা কন্সট্রাক্টরের প্যারামিটারগুলির জন্য ডিফল্ট মান প্রদান করতে পারেন, যাতে প্যারামিটার না দিলে ডিফল্ট মান ব্যবহার করা হয়।
  3. Constructor Overloading: Groovy তে, একাধিক কন্সট্রাক্টর ডিফাইন করা সম্ভব এবং এটি প্যারামিটার সংখ্যা বা টাইপের ওপর ভিত্তি করে কাজ করে।

এভাবে Groovy তে constructors এবং default parameters ব্যবহার করে কোডকে আরও নমনীয়, সহজ এবং পুনঃব্যবহারযোগ্য করা যায়।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion