এনক্যাপসুলেশনঃEncapsulation
এনক্যাপসুলেশন অর্থ গোপনীয়তা। অন্য কোন অব্জেক্ট থেকে কোন ক্লাসের ডেটা লুকোনো বা সরাসরি ব্যবহার থেকে বিরত রাখা ই এনক্যাপসুলেশন। অর্থাৎ কোন ক্লাসের ডেটা বা মেথড কে প্রাইভেট করে রাখার প্রক্রিয়া-ই এনক্যাপসুলেশন । প্রাইভেট অ্যাট্রিবিউট ক্লাস নিজে যেকোন সময় এক্সেস করতে পারে তবে অন্য কোন ক্লাস সরাসরি এক্সেস করতে পারেনা বা পরিবর্তন করতে পারে না। এনক্যাপসুলেশন ক্লাসের ডেটার নিরাপত্তা বাড়ায়।
পাইথন ও অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর এনক্যাপসুলেশন নীতি ব্যবহার করে। যদিও পাইথনে ডেটা প্রাইভেট করার জন্য কোন প্রাইভেট কি-ওয়ার্ড নেই কিন্তু সিন্ট্যাক্স আছে। যদিও একে কেউ-ই সিন্ট্যাক্স বলা যায় না। সহজ করে বলার জন্য-ই বলা…
· একটি আইডেন্টিফায়ার যদি একটি আন্ডারস্কোর দিয়ে শুরু হয় তার মানে হচ্ছে আইডেন্টিফায়ার টি প্রাইভেট তবে চাইলে সহজেই এক্সেস করা যাবে।
· কোন আইডেন্টিফায়ার যদি দুটি আন্ডারস্কোর দিয়ে শুরু হয় তাহলে আইডেন্টিফায়ার টি প্রাইভেট তবে এক্সেস করা একটু কঠিন।
এবার বেশি প্রাইভেট salary কে এক্সেস নেয়ার চেষ্টা করি
Output
__salary এতই প্রাইভেট যে পাইথন আমাদের বলছে যে এ নামে কোন অ্যাট্রিবিউটই নেই। কিন্তু _age তো ঠিকই আউটপুট দেখাচ্ছে। একে তো প্রাইভেট মনে হচ্ছে না। এটি যে প্রাইভেট তা অনুভব করতে পারবে যখন ইন্ট্রারপ্রেটারে _age এক্সেস করতে যাবে।
এই প্রাইভেট অ্যাট্রিবিউট গুলো পরোক্ষ ভাবে এক্সেস বা পরিবর্তন করতে পাইথন getter এবং setter করে।
getter এবং setter
Last updated