Java Beans একটি বিশেষ ধরনের Java ক্লাস যা নির্দিষ্ট নিয়মাবলী এবং কনভেনশন অনুসরণ করে তৈরি করা হয়। এটি বিভিন্ন Java অ্যাপ্লিকেশন বা প্ল্যাটফর্মে পুনঃব্যবহারযোগ্য এবং সহজে ডেটা পাসিংয়ের জন্য ব্যবহৃত হয়। Java Bean এর প্রধান বৈশিষ্ট্যগুলোর মধ্যে Getter, Setter, এবং Serializable উল্লেখযোগ্য। নিচে বিস্তারিতভাবে এই বৈশিষ্ট্যগুলো আলোচনা করা হলো:
১. Getter এবং Setter মেথড
Getter এবং Setter মেথড Java Bean-এ ব্যবহৃত হয় ফিল্ড বা প্রপার্টির মান অ্যাক্সেস এবং পরিবর্তন করার জন্য।
- Getter মেথড: এটি সাধারণত কোনো প্রপার্টির মান ফেরত দেয়। গেটার মেথডের নাম সাধারণত
getএর মাধ্যমে শুরু হয় এবং প্রপার্টির নামের প্রথম অক্ষর বড় হয় (camelCase)। - Setter মেথড: এটি কোনো প্রপার্টির মান সেট করতে ব্যবহৃত হয়। সেটার মেথডের নাম সাধারণত
setদিয়ে শুরু হয় এবং প্রপার্টির নামের প্রথম অক্ষর বড় হয় (camelCase)।
এটি ডেটা এনক্যাপসুলেশন (Data Encapsulation)-এর মূল ভিত্তি। প্রাইভেট ফিল্ডের মাধ্যমে ডেটা সুরক্ষিত থাকে এবং কেবলমাত্র পাবলিক গেটার এবং সেটার মেথডের মাধ্যমে সেই ডেটা অ্যাক্সেস করা যায়।
উদাহরণ:
public class StudentBean {
// প্রাইভেট ফিল্ড
private String name;
private int age;
// Getter মেথড
public String getName() {
return name;
}
// Setter মেথড
public void setName(String name) {
this.name = name;
}
// Getter মেথড
public int getAge() {
return age;
}
// Setter মেথড
public void setAge(int age) {
this.age = age;
}
}এখানে name এবং age প্রপার্টির জন্য গেটার এবং সেটার মেথড রয়েছে। এসব মেথডের মাধ্যমে ডেটা অ্যাক্সেস ও পরিবর্তন করা সম্ভব।
২. Serializable ইন্টারফেস
Java Bean-এর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য হল Serializable ইন্টারফেস। যখন একটি Java Bean Serializable ইন্টারফেস ইমপ্লিমেন্ট করে, তখন এটি বাইট স্ট্রিমে রূপান্তরিত হতে পারে। এই বৈশিষ্ট্যটি বিশেষভাবে ব্যবহারী যখন আপনি ডেটা নেটওয়ার্কের মাধ্যমে পাঠাতে চান বা ফাইল সিস্টেমে সংরক্ষণ করতে চান।
- Serializable ইন্টারফেস ইমপ্লিমেন্ট করার মাধ্যমে, Java Bean-এ থাকা অবজেক্টগুলোকে একে অপরের মধ্যে পাঠানো বা সংরক্ষণ করা সহজ হয়।
- এটি সাধারণত রিমোট কম্পিউটিং (Distributed Computing) বা স্টোরেজ অপারেশনগুলির জন্য ব্যবহার হয়, যেমন ডেটা ক্লাউডে আপলোড বা সার্ভারের মধ্যে প্রেরণ।
উদাহরণ:
import java.io.Serializable;
public class StudentBean implements Serializable {
private String name;
private int age;
// Getter এবং Setter মেথড...
}এখানে StudentBean ক্লাসটি Serializable ইন্টারফেস ইমপ্লিমেন্ট করছে। এর ফলে এটি একটি সিরিয়ালাইজড অবজেক্ট হয়ে ওঠে, যা পরে একটি ফাইল বা নেটওয়ার্কে প্রেরণ করা যেতে পারে।
৩. Java Bean এর অন্যান্য বৈশিষ্ট্য
Java Bean-এ কিছু সাধারণ বৈশিষ্ট্য রয়েছে যা এই শ্রেণিকে একটি সিস্টেমের মধ্যে অত্যন্ত কার্যকরী এবং পুনঃব্যবহারযোগ্য করে তোলে:
- প্রাইভেট ফিল্ড: Java Bean-এর সব ফিল্ড প্রাইভেট হতে হবে। এগুলোকে শুধুমাত্র পাবলিক গেটার ও সেটার মেথডের মাধ্যমে অ্যাক্সেস করা যাবে।
- পাবলিক কনস্ট্রাক্টর: Java Bean-এ একটি পাবলিক কনস্ট্রাক্টর থাকতে হবে, সাধারণত এটি no-argument কনস্ট্রাক্টর হয়ে থাকে। এটি Bean অবজেক্ট তৈরি করার জন্য ব্যবহৃত হয়।
- ক্লাসের নাম ক্যামেল কেস অনুসরণ করতে হবে: Java Bean-এর ক্লাসের নাম সাধারণত ক্যামেল কেস ফর্ম্যাটে রাখা হয়, যেমন
StudentBean,PersonInfo, ইত্যাদি।
Java Bean এর উপকারিতা:
Java Beans এর মূল সুবিধা হল এগুলো খুব সহজে পুনঃব্যবহারযোগ্য এবং একাধিক অ্যাপ্লিকেশন বা প্ল্যাটফর্মে ব্যবহৃত হতে পারে। এগুলো অন্যান্য Java ক্লাসের তুলনায় আরও বেশি অবজেক্ট-ভিত্তিক এবং ডেটা সুরক্ষিত রাখে।
- পুনঃব্যবহারযোগ্যতা: একবার তৈরি করা Java Bean-এ প্রপার্টি বা মেথড পরিবর্তন করা হলে, এটি বিভিন্ন অ্যাপ্লিকেশন বা প্ল্যাটফর্মে পুনরায় ব্যবহার করা যেতে পারে।
- ডেটা এনক্যাপসুলেশন: Java Bean-এর মাধ্যমে ডেটার সুরক্ষা নিশ্চিত হয়। গেটার এবং সেটার মেথডের মাধ্যমে শুধু প্রয়োজনীয় ডেটাই অ্যাক্সেস করা সম্ভব।
- কমপ্লেক্স ডেটা স্টোরেজ: Java Beans ব্যবহৃত হয় ডেটা স্টোরেজ ও পাসিংয়ের জন্য। এটি সহজে সিরিয়ালাইজেশন এবং ডেসিরিয়ালাইজেশন করে, ফলে ডিস্ট্রিবিউটেড সিস্টেমে ডেটা পাস করা সহজ হয়।
সারসংক্ষেপ
Java Beans হলো একটি বিশেষ ধরনের Java ক্লাস যা নির্দিষ্ট কনভেনশন অনুসরণ করে তৈরি করা হয়। এটি Getter এবং Setter মেথড ব্যবহার করে ডেটা এনক্যাপসুলেশন নিশ্চিত করে, এবং Serializable ইন্টারফেস ইমপ্লিমেন্ট করে ডেটা স্টোরেজ ও পাসিং-এর জন্য সুবিধা প্রদান করে। Java Bean-এর এই বৈশিষ্ট্যগুলির মাধ্যমে এটি পুনঃব্যবহারযোগ্য, ডিস্ট্রিবিউটেড সিস্টেমে ব্যবহারের উপযোগী এবং শক্তিশালী একটি টুল হয়ে ওঠে।
Read more