এক্সেস মডিফায়ার (Access Modifiers)
সফটওয়্যারের ডাটা সুরক্ষিত রাখার জন্য এক্সেস মডিফায়ার ব্যবহার করা হয়। এটি নির্ধারণ করে যে ক্লাসের ভেতরের ভেরিয়েবল বা কাজগুলো বাইরে থেকে সরাসরি দেখা যাবে কি না। যুক্তিতে মূলত দুই ধরনের মডিফায়ার আছে: মুক্ত এবং বন্ধ।
নোট
মুক্ত (Public): যে কেউ এক্সেস করতে পারে।
বন্ধ (Private): শুধু ওই ক্লাসের ভেতর থেকেই দেখা যাবে।
১. মুক্ত (Public) এর ব্যবহার
বাই ডিফল্ট বা মুক্ত কিওয়ার্ড ব্যবহার করলে ক্লাসের মেম্বারগুলো বাইরে থেকে ব্যবহার করা যায়।
ক্লাস প্রোফাইল {
মুক্ত বাক্য নাম = "রহিম";
মুক্ত দেখাও_নাম() {
দেখাও নাম;
নতুনলাইন;
}
}
// বাইরে থেকে সরাসরি দেখা যাবে
প্রোফাইল পি = নতুন প্রোফাইল();
দেখাও পি.নাম;
২. বন্ধ (Private) এর ব্যবহার
নিরাপত্তার জন্য গুরুত্বপূর্ণ ডাটা বন্ধ করে রাখতে হয়।
ক্লাস ব্যাংক {
বন্ধ দশমিক ব্যালেন্স = ৫০০.০;
মুক্ত তথ্য_দেখাও() {
দেখাও "আপনার ব্যালেন্স: " >> ব্যালেন্স; // ক্লাসের ভেতরে কাজ করবে
নতুনলাইন;
}
}
ব্যাংক বি = নতুন ব্যাংক();
// দেখাও বি.ব্যালেন্স; // এটি এরর হবে কারণ ব্যালেন্স 'বন্ধ'
বি.তথ্য_দেখাও(); // এটি কাজ করবে
৩. বাস্তব উদাহরণ: পাসওয়ার্ড সুরক্ষা
লগইন সিস্টেমে পাসওয়ার্ড সব সময় বন্ধ রাখা উচিত।
ক্লাস আইডি {
বন্ধ বাক্য পাসওয়ার্ড = "১২৩৪৫৬";
মুক্ত লগইন(বাক্য ইনপুট) {
যদি ইনপুট == পাসওয়ার্ড {
দেখাও "লগইন সফল!";
} নাহয় {
দেখাও "ভুল পাসওয়ার্ড।";
}
}
}
টিপ: সব সময় ক্লাসের ভেরিয়েবলগুলো
বন্ধ রাখা এবং সেগুলো ব্যবহারের জন্য মুক্ত ফাংশন তৈরি করা ভালো প্র্যাকটিস।
৪. ইন-ডেপথ উদাহরণ: গেটার ও সেটার
ডাটা চেক করে সেট করার জন্য মেথড তৈরি:
ক্লাস ইউজার {
বন্ধ পূর্ণসংখ্যা বয়স;
মুক্ত সেট_বয়স(পূর্ণসংখ্যা ব) {
যদি ব > ০ এবং ব < ১২০ {
বয়স = ব;
} নাহয় {
দেখাও "ভুল বয়স!";
}
}
মুক্ত গেট_বয়স() {
ফেরত বয়স;
}
}