31. لماذا OOP؟ المفاهيم والمبادئ
البرمجة الشيئية (Object-Oriented Programming - OOP) هي نموذج ينظم البرامج حول الكائنات (Objects) بدلاً من الإجراءات والمنطق. بينما تعتبر PHP الإجرائية جيدة للسكربتات الصغيرة، فإن OOP إلزامية للتطبيقات الكبيرة والمعقدة والقابلة للصيانة (مثل تلك المبنية باستخدام الأطر).
المفاهيم الأساسية
1. الفئات (Classes) والكائنات (Objects)
- الفئة (Class): مخطط أو قالب لإنشاء الكائنات. (على سبيل المثال، مفهوم 'السيارة').
- الكائن (Object): مثيل لفئة. (على سبيل المثال، سيارة تويوتا المحددة الخاصة بك، بلونها ورقم VIN الخاص بها).
2. التغليف (Encapsulation)
تجميع البيانات (الخصائص) والدوال (الـ methods) التي تعمل على البيانات في وحدة واحدة (الكائن). يتضمن أيضًا تقييد الوصول المباشر إلى بعض مكونات الكائن (باستخدام معدّلات الوصول).
- الهدف: حماية البيانات من التعديل العرضي وإخفاء تفاصيل التنفيذ الداخلية.
3. الوراثة (Inheritance)
تسمح لفئة واحدة (الفرعية/الطفل) بوراثة الخصائص والدوال من فئة أخرى (الأصل/الأساس). هذا يعزز إعادة استخدام الكود.
- مثال: 'السيارة الرياضية' ترث من فئة 'السيارة' العامة.
4. تعدد الأشكال (Polymorphism)
قدرة الكائنات المختلفة على الاستجابة لنفس الرسالة (استدعاء دالة) بطريقتها الخاصة. 'Poly' تعني متعدد، و 'morph' تعني شكل.
- مثال: إذا كان لكل من كائن 'الكلب' وكائن 'القط' دالة
makeSound()، فإن الكلب ينبح والقط يموء.