تخطَّ إلى المحتوى

🧩 شرح البرمجة كائنية التوجّه

التغليف (Encapsulation)

الدرس 6 من 25· ⏱ 1 دقائق قراءة

ما هو التغليف؟

إخفاء التفاصيل الداخلية وحماية البيانات، والسماح بالوصول إليها عبر طرق محكومة فقط.

بيانات خاصّة

class Account:
    def __init__(self):
        self.__balance = 0      # خاصّة (شبه محميّة في Python)

    def deposit(self, amount):
        if amount > 0:
            self.__balance += amount

    def get_balance(self):
        return self.__balance
// Java — private صريح
class Account {
    private double balance;
    public double getBalance() { return balance; }
}

getters و setters

تتحكّم بالقراءة والكتابة مع تحقّق:

class Person:
    def __init__(self, age):
        self._age = age

    @property
    def age(self):              # getter
        return self._age

    @age.setter
    def age(self, value):       # setter بتحقّق
        if value < 0:
            raise ValueError("عمر سالب")
        self._age = value

الفائدة

  • حماية البيانات من تعديل غير صالح.
  • حرّية تغيير التنفيذ الداخلي دون كسر المستخدمين.

🎯 التالي: التجريد (Abstraction).

هل كان هذا الدرس مفيدًا؟