- بواسطة x32x01 ||
لو بدأت تتعلم البرمجة كائنية التوجه (OOP) أكيد شفت رموز غريبة زي + و - قدام الـ Attributes والـ Methods 🤔
ممكن تكون عدّيتها بسرعة… لكن الحقيقة إن الرموز دي من أهم أساسيات تنظيم الكود وحماية البيانات!
في البوست ده هتفهم ببساطة:
يعني:
يعني:
فكر كده:
دي أساس الأمان والتنظيم في البرمجة كائنية التوجه 💥
لو فهمت:
ممكن تكون عدّيتها بسرعة… لكن الحقيقة إن الرموز دي من أهم أساسيات تنظيم الكود وحماية البيانات!
في البوست ده هتفهم ببساطة:
- يعني إيه Private و Public
- وليه مهمين جدًا في أي سيستم
- وإزاي تستخدمهم صح في مشاريعك 💪
يعني إيه Private و Public في الـ OOP؟
خلينا نبسطها خالص 👇أولًا: Private (-)
لما تلاقي علامة - قدام متغير أو دالة، ده معناه إنها Private 👇يعني:
- ❌ مش أي كود بره الـ Class يقدر يوصلها
- 🔒 البيانات دي محمية
- ✅ التعامل معاها بيكون عن طريق دوال معينة فقط
ثانيًا: Public (+)
أما علامة + فدي معناها إن الحاجة دي Public 👇يعني:
- ✅ أي جزء في البرنامج يقدر يستخدمها
- 🔓 متاحة لكل الـ Objects
- 📞 تقدر تنادي عليها بسهولة
ليه الموضوع ده مهم في البرمجة؟
ببساطة… ده اللي بيحقق مفهوم مهم جدًا اسمه:🔥 Data Encapsulation (تغليف البيانات)
وده معناه:- حماية البيانات الحساسة 🔒
- تنظيم الكود 🧠
- تقليل الأخطاء 🛑
- تسهيل تطوير المشروع بعد كده 🚀
مثال عملي: نظام ATM 💳
تعالى نشوف مثال واقعي يوضح الفكرة 👇Class: Account
Python:
class Account:
def __init__(self):
self.__balance = 0 # Private
def deposit(self, amount): # Public
self.__balance += amount
def withdraw(self, amount): # Public
if amount <= self.__balance:
self.__balance -= amount التحليل:
- balance → Private 🔒
مينفعش أي حد يغيره مباشرة (عشان الأمان) - deposit() و withdraw() → Public ✅
دي الطرق الرسمية للتعامل مع الرصيد
مثال تاني: User System 👤
Python:
class User:
def __init__(self):
self.__cardNumber = "1234" # Private
def login(self): # Public
print("User logged in")
def logout(self): # Public
print("User logged out") التحليل:
- cardNumber → Private 🔒
بيانات حساسة مينفعش تظهر - login / logout → Public ✅
دي الوظايف اللي المستخدم يتعامل معاها
إمتى أستخدم Private وإمتى Public؟
اسأل نفسك السؤال ده 👇استخدم Private لما:
- البيانات حساسة (زي: باسورد، رصيد، بيانات شخصية) 🔐
- مش عايز حد يعدلها بشكل مباشر
- محتاج تتحكم في طريقة التعديل
استخدم Public لما:
- عايز توفر وظائف واضحة للاستخدام
- بتبني API أو System سهل الاستخدام
- محتاج تدي صلاحية للوصول للدوال
Challenge عملي 💡
تخيل إنك بتبني سيستم طلبات أكل 🍔فكر كده:
- إيه اللي يكون Private؟
(زي: سعر الطلب الداخلي، بيانات الدفع) - وإيه اللي يكون Public؟
(زي: إضافة طلب، إلغاء طلب، عرض القائمة)
خلاصة البوست
علامات + و - مش مجرد رموز…دي أساس الأمان والتنظيم في البرمجة كائنية التوجه 💥
لو فهمت:
- Private = حماية
- Public = استخدام