Groovy তে Class এবং Object এর ধারণা
Groovy তে Class এবং Object এর ধারণা মূলত Object-Oriented Programming (OOP) এর উপর ভিত্তি করে। Class এবং Object ব্যবহার করে আমরা বাস্তব জীবনের বিভিন্ন বিষয় বা ধারণাকে কোডের মাধ্যমে মডেল করতে পারি।
1. Class এর ধারণা
Class হলো একটি ব্লুপ্রিন্ট বা কাঠামো যা কোনো বস্তু বা বিষয়ের বৈশিষ্ট্য এবং আচরণ সংজ্ঞায়িত করে। Class এর মধ্যে properties (অর্থাৎ ভেরিয়েবল) এবং methods (অর্থাৎ ফাংশন) থাকতে পারে, যা একটি নির্দিষ্ট ধরনের অবজেক্টকে নির্দেশ করে।
Class ডিক্লারেশন
Groovy তে একটি Class ডিক্লার করতে class কীওয়ার্ড ব্যবহার করা হয়। Class এর ভেতরে properties এবং methods ডিক্লার করা হয়।
class Person {
String name
int age
def introduce() {
println "Hello, my name is $name and I am $age years old."
}
}উপরে Person নামে একটি Class তৈরি করা হয়েছে, যেখানে name এবং age নামে দুইটি properties আছে এবং introduce() নামে একটি method রয়েছে।
2. Object এর ধারণা
Object হলো Class এর একটি নির্দিষ্ট উদাহরণ বা instance। অর্থাৎ, Object হল একটি বাস্তবজীবনের কোনো নির্দিষ্ট বিষয় বা বস্তু যা Class দ্বারা মডেল করা হয়। Object তৈরি করতে new কীওয়ার্ড ব্যবহার করা হয়।
Object তৈরি এবং ব্যবহার
def person1 = new Person(name: "Alice", age: 25)
def person2 = new Person(name: "Bob", age: 30)
person1.introduce() // Output: Hello, my name is Alice and I am 25 years old.
person2.introduce() // Output: Hello, my name is Bob and I am 30 years old.এখানে person1 এবং person2 হল Person Class এর Object, যেখানে name এবং age প্রপার্টিগুলির মান সেট করা হয়েছে এবং introduce() মেথড কল করা হয়েছে।
3. Constructor
Constructor হলো একটি বিশেষ মেথড যা Object তৈরি করার সময় প্রাথমিক মান সেট করতে সাহায্য করে। Groovy তে Constructor ডিফাইন করা ঐচ্ছিক, কারণ Groovy Class এর জন্য একটি ডিফল্ট কন্সট্রাক্টর তৈরি করে। তবে, আপনি চাইলে নিজস্ব Constructor ও তৈরি করতে পারেন।
Custom Constructor উদাহরণ
class Person {
String name
int age
// Custom Constructor
Person(String name, int age) {
this.name = name
this.age = age
}
def introduce() {
println "Hello, my name is $name and I am $age years old."
}
}
def person = new Person("Charlie", 35)
person.introduce() // Output: Hello, my name is Charlie and I am 35 years old.এখানে Person Class এ একটি Custom Constructor তৈরি করা হয়েছে যা name এবং age প্রপার্টি সেট করে।
4. Properties এবং Methods
Properties হল একটি Class এর ভেরিয়েবল যা Object এর বৈশিষ্ট্য ধারণ করে। Methods হলো ফাংশন যা Class এর আচরণ নির্দেশ করে। Groovy তে Properties এবং Methods সহজেই ডিক্লার করা যায়।
class Car {
String brand
int year
def start() {
println "$brand car started."
}
}
def car = new Car(brand: "Toyota", year: 2022)
car.start() // Output: Toyota car started.5. Encapsulation
Encapsulation হলো Object Oriented Programming এর একটি মূলনীতি যা Class এর properties এবং methods কে প্যাকেজ আকারে রাখে এবং তাদেরকে সরাসরি access না করে method এর মাধ্যমে access করতে উৎসাহিত করে। Groovy তে private access modifier দিয়ে properties কে encapsulate করা হয়।
class BankAccount {
private double balance = 0.0
def deposit(double amount) {
balance += amount
}
def getBalance() {
return balance
}
}
def account = new BankAccount()
account.deposit(500)
println account.getBalance() // Output: 500.0এখানে balance প্রপার্টিকে private করে রাখা হয়েছে এবং deposit এবং getBalance মেথডের মাধ্যমে এক্সেস করা হচ্ছে।
6. Inheritance
Groovy তে Inheritance ব্যবহার করে একটি Class অন্য একটি Class এর বৈশিষ্ট্য এবং আচরণ উত্তরাধিকারসূত্রে পেতে পারে। এটি OOP এর একটি মূলনীতি, যা কোডের পুনঃব্যবহারকে উৎসাহিত করে।
class Animal {
def eat() {
println "Eating..."
}
}
class Dog extends Animal {
def bark() {
println "Barking..."
}
}
def dog = new Dog()
dog.eat() // Output: Eating...
dog.bark() // Output: Barking...এখানে Dog Class Animal Class কে extends করেছে, তাই Dog Class Animal এর মেথড eat() ব্যবহার করতে পারছে।
সারসংক্ষেপ
Groovy তে Class এবং Object এর মাধ্যমে OOP এর ধারণাগুলি সহজে প্রয়োগ করা যায়। Groovy তে Class তৈরি করে তার প্রোপার্টি এবং মেথড সংজ্ঞায়িত করা হয় এবং Object এর মাধ্যমে তাদের ব্যবহার করা হয়। Class এবং Object ব্যবহার করে Encapsulation, Inheritance এর মতো OOP এর মূলনীতিগুলি সহজেই বাস্তবায়ন করা যায়।
Read more