المحدّدات الثلاثة
| المحدّد | الوصول |
|---|---|
public | من أي مكان |
protected | الصنف وأبناؤه |
private | داخل الصنف فقط |
في Java/C#
class Account {
public String owner; // متاح للجميع
protected double balance; // للصنف وأبنائه
private String pin; // داخليًّا فقط
}
في Python (اصطلاحي)
Python لا تفرض الخصوصية، بل تعتمد اصطلاحًا:
class Account:
def __init__(self):
self.owner = "براء" # عامّ
self._balance = 0 # محميّ (اصطلاح: لا تلمسه من خارج)
self.__pin = "1234" # خاصّ (name mangling)
لماذا؟
- التغليف: أخفِ التفاصيل واحمِ البيانات.
- واجهة نظيفة: اكشف ما يحتاجه المستخدم فقط (public)، وأخفِ الباقي.
💡 القاعدة: اجعل كل شيء private افتراضيًّا، واكشف ما تحتاجه فقط (أقلّ سطح ممكن).
🎯 التالي: الأعضاء الساكنة (Static).