Groovy তে Class এবং Object এর ধারণা মূলত Object-Oriented Programming (OOP) এর উপর ভিত্তি করে। Class এবং Object ব্যবহার করে আমরা বাস্তব জীবনের বিভিন্ন বিষয় বা ধারণাকে কোডের মাধ্যমে মডেল করতে পারি।
Class হলো একটি ব্লুপ্রিন্ট বা কাঠামো যা কোনো বস্তু বা বিষয়ের বৈশিষ্ট্য এবং আচরণ সংজ্ঞায়িত করে। Class এর মধ্যে properties (অর্থাৎ ভেরিয়েবল) এবং methods (অর্থাৎ ফাংশন) থাকতে পারে, যা একটি নির্দিষ্ট ধরনের অবজেক্টকে নির্দেশ করে।
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 রয়েছে।
Object হলো Class এর একটি নির্দিষ্ট উদাহরণ বা instance। অর্থাৎ, Object হল একটি বাস্তবজীবনের কোনো নির্দিষ্ট বিষয় বা বস্তু যা Class দ্বারা মডেল করা হয়। Object তৈরি করতে new
কীওয়ার্ড ব্যবহার করা হয়।
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()
মেথড কল করা হয়েছে।
Constructor হলো একটি বিশেষ মেথড যা Object তৈরি করার সময় প্রাথমিক মান সেট করতে সাহায্য করে। Groovy তে Constructor ডিফাইন করা ঐচ্ছিক, কারণ Groovy Class এর জন্য একটি ডিফল্ট কন্সট্রাক্টর তৈরি করে। তবে, আপনি চাইলে নিজস্ব 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
প্রপার্টি সেট করে।
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.
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
মেথডের মাধ্যমে এক্সেস করা হচ্ছে।
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 এর মূলনীতিগুলি সহজেই বাস্তবায়ন করা যায়।
common.read_more