অবজেক্ট অরিয়েন্টেড প্রোগ্রামে কোনো এট্রিবিউটের ডাটাকে হাইড করা দরকার হলে উক্ত এট্রিবিউটের নামের আগে দুটি আন্ডারস্কোর (__) ব্যবহার করতে হবে। Person ক্লাসের একটি এট্রিবিউট password-কে হাইড করার প্রক্রিয়া দেখানো হলো, এক্ষেত্রে এর password নামের আগে দুটি আন্ডারস্কোর ব্যবহার করা হয়েছে, ফলে এটি প্রাইভেট এট্রিবিউট হিসেবে বিবেচিত হবে এবং একে উক্ত ক্লাসের বাইর থেকে আর অ্যাকসেস করা যাবে না। ডাটাকে সিকিউর করার জন্য অবজেক্ট অরিয়েন্টেড প্রোগ্রামে ডাটা হাইডিং প্রক্রিয়া ব্যবহার করা হয়।
এবার per নামে Person() ক্লাসের একটি অবজেক্ট তৈরি করি। অতঃপর উক্ত প্রাইভেট এট্রিবিউটকে অ্যাকসেস করার চেষ্টা করি,
per=Person()
print (per._password)
আমরা দেখতে পাচ্ছি একটি এরর প্রদান করছে অর্থাৎ প্রাইভেট এট্রিবিউটের ডাটা দেখা যাবে না। প্রাইভেট এট্রিবিউটের ডাটাকে অ্যাকসেস করতে হলে অবজেক্টের কোনো মেথড ব্যবহার করে করতে হবে। আমরা Person() ক্লাসটিকে মডিফাই করি, যা একটি মেথড ব্যবহার করে প্রাইভেট এট্রিবিউটের ডাটাকে প্রদর্শন করবে,
এবার new_per নামে Person() ক্লাসের একটি অবজেক্ট তৈরি করি। অতঃপর উক্ত প্রাইভেট এট্রিবিউটকে per_info() ব্যবহার করে অ্যাকসেস করার চেষ্টা করি,
new_per=Person()
new_per.per_info()
আমরা দেখতে পাচ্ছি প্রাইভেট এট্রিবিউটের ডাটাটি প্রদর্শিত হচ্ছে।
ক্লাস ও অবজেক্ট সংক্রান্ত অন্যান্য কার্যাবলি
কোনো ক্লাস অন্য কোনো ক্লাসের সাবক্লাস কিনা তা দেখার জন্য issubclass() মেথড ব্যবহার করা হয়। যেমন
issubclass(Teacher,Person)
কোন অবজেক্ট কোন ক্লাসের ইন্সট্যান্স তা দেখার জন্য isinstance() মেথড ব্যবহার করা হয়। যেমন
কোন অবজেক্ট অপ্রোয়োজনীয় হলো তাকে ডিস্ট্রয় করে মেমোরিকে ফ্রি করা হয়। এই প্রক্রিয়াটিকে গারবেজ কালেকশন বলা হয়। অবজেক্ট অরিয়েন্টেড প্রোগ্রামে অটোমেটিক্যালি নির্দিষ্ট সময় পরপর এই গারবেজ কালেক্টর রান করে। তবে প্রয়োজন হলে ম্যানুয়াালও কোনো অবজেক্টকে ডিলিট করা যায়। per1 অবজেক্টকে ডিলিট করার প্রক্রিয়া নিচে দেয়া হলো
ডিলিট করার পর কোনাে অবজেক্টকে অ্যাকসেস করতে চাইলে এরর প্রদান করবে।
১ টি মন্তব্য
Md Shamim Miah
২০২২-১১-০৮ ১৭:২৫:৪৬Ato kisu bujina