এনক্যাপসুলেশন একটি প্রোগ্রামিং প্রিন্সিপাল যা ক্লাসের মাধ্যমে অবজেক্টের মধ্যে তথ্য এবং কার্যাবলী একত্রিত করার একটি পদ্ধতি। এটি প্রোগ্রামে তথ্য গোপন করার এবং তা পরিচালনার জন্য একটি গুরুত্বপূর্ণ ধারণা। মূল উদ্দেশ্য হলো, অবজেক্টের অবকাঠামোকে শক্তিশালী করা এবং অবজেক্টের আভ্যন্তরীণ ডেটাকে সরাসরি অ্যাক্সেস সীমিত করা।

উদাহরণ কোড:

# ক্লাসের মধ্যে এনক্যাপসুলেশন ব্যবহার
class BankAccount:
    def __init__(self, account_number, balance):
        self.__account_number = account_number  # এনক্যাপসুলেটেড তথ্য
        self.__balance = balance                # এনক্যাপসুলেটেড তথ্য

    # getter for account_number
    def get_account_number(self):
        return self.__account_number

    # setter for balance
    def set_balance(self, amount):
        if amount >= 0:
            self.__balance = amount
        else:
            print("Amount cannot be negative.")

    # method to check balance
    def check_balance(self):
        print(f"Account Balance: {self.__balance}")

# অবজেক্ট তৈরি
account = BankAccount('123456789', 1000)
print("Account Number:", account.get_account_number())  # getter ব্যবহার

account.set_balance(1500)  # setter ব্যবহার করে ব্যালেন্স আপডেট
account.check_balance()    # ব্যালেন্স দেখানো হচ্ছে

ব্যাখ্যা:

  1. BankAccount ক্লাসে __account_number এবং __balance নামে দুইটি এনক্যাপসুলেটেড প্রাইভেট ভ্যারিয়েবল আছে। অর্থাৎ, এই ভ্যারিয়েবলগুলো সরাসরি বাইরে থেকে অ্যাক্সেস করা যায় না।
  2. Getter মেথড (get_account_number) ব্যবহার করে প্রাইভেট ডেটা গোপন রেখে তা ভেতরে থেকে প্রাপ্ত করা যায়।
  3. Setter মেথড (set_balance) ব্যবহার করে প্রাইভেট ডেটা আপডেট করা যায়, তবে নির্দিষ্ট কিছু শর্ত পূরণ করতে হবে, যেমন amount ঋণাত্মক না হলে ব্যালেন্স আপডেট হবে।
  4. check_balance মেথডটি ব্যালেন্স দেখানোর জন্য।

আউটপুট:

Account Number: 123456789
Account Balance: 1500

এনক্যাপসুলেশন ব্যবহারের সুবিধা:

ডেটার গোপনীয়তা নিশ্চিত করা যায়।

ক্লাসের মধ্য থেকে নিয়ন্ত্রণ এবং প্রক্রিয়াগুলি পরিচালিত হয়।

নিরাপত্তা বৃদ্ধি পায় কারণ অপ্রয়োজনীয় তথ্য বা কার্যাবলী বাইরে থেকে পরিবর্তন করা সম্ভব হয় না।

প্রোগ্রামটি আরও সুবিধাজনক এবং সহজবোধ্য হয়ে ওঠে।