البرمجة كائنية التوجه OOP


تعرفنا في مادة algo 1 et 2 على الخواريزيمات، و بالتوازي مع ذلك تعرفنا على لغة البرمجة c، فماذا تخفي هذه اللغة !
عندما نقوم بكتابة سطور برمجية بهدف بناء تطبيق يحل مشكلة، فإننا نتبع أحد أساليب البرمجة، و أحد هذه الأساليب التي كنت تتبعها دون علمك عند استعمال لغة c مثلا هو الأسلوب التركيبي Le style modulaire
فما هذا يا هذا !

اللغة البرمجية c، هي لغة تركيبية Language de programmation modulaire يعني على العموم أنها تعتمد على المفاهيم التالية
Les fonctions, les structures de données, les fichiers ...

يسمح لنا أسلوب البرمجة التركيبي
"Modulaire"

بتقسيم الكود إلى عدة ملفات و من ثم جمعها في ملف رئيسي واحد، و مثال ذلك :
include <stlib>
التي نكتبها في ملف main.c

فأنت هنا تستدعي ملفا خارجيا في ملفك الرئيسي بهدف استعمال محتواه، و هذا أحد مفاهيم البرمجة التركيبية
La programmation modulaire

يمكننا تخصيص موضوع كامل عن هذا الأسلوب، إن كنت مهتما أعلمني في تعليق.
و الآن، بما أن لكل أمر عيب، فللبرمجة التركيبية عيوبها و نذكر منها :
• مثلا عند تقسيم الكود على عدة ملفات فإن تجريبها
"testing"
قد يصبح أمر معقد، و الtesting هو خطوة مهمة عند بناء تطبيقات معقدة.
كما أن الكود قد يكون صعب الفهم نظرا للبنية التسلسلية للكود.
و هنا جاء أسلوب برمجي آخر، و هو ما يسمى بالبرمجة الكائنية التوجه
La programmation orientée objet,
و هو أسلوب برمجي أكثر تطورا حيث نجد أن العديد من اللغات المتقدمة تستعمله مثل java, c#, python و طبعا لغة c++.
إعتماد أسلوب الpoo في مشاريعك يجعل الكود سهل الفهم أكثر لأن مفاهيم الpoo تجعل الكود شبيه بالحياة الواقعية بحيث أنها تعتبر كل شيء في الكود كائن (نعم و كأنه شيء واقعي)
تخيل معي أنك تقوم بإنشاء تطبيق تسيير الموظفين، عند تطبيق مبادئ الpoo فأنت تعتبر الموظف كائن له خصائصه كالإسم و اللقب و له وظائف يقوم بها كالعمل و أخذ عطلة...
هذا مجرد مثال، لن نتعمق أكثر لنكن سطحيين.
السؤال الآن :

ما الذي يجعل الpoo مهمة ؟
تطبيق قواعد الpoo في الكود يعطينا في النهاية كود :
• قابل للصيانة
• سهل الفهم (يمكنك فهم كيف يعمل الكود بسهولة)
• قابل للتوسيع (الإضافات)
• قابل لإعادة الإستخدام (يمكنك أخذ جزء من الكود و استخدامه في مشروع آخر)
و هذا ما يجعل الpoo طاغية على مجال تطوير البرمجيات
développement des applications,
فهي توفر الكثير من المزايا التي تختصر الوقت و المجهود و المال.
و إن لم يكن هذا كافيا لجعلك تفكر في تعلم هذا الأسلوب، فإليك هذا :
مبادئ البرمجة الكائنية التوجه poo، لا تستعمل فقط في البرمجة، بل في مرحلة تصميم البرنامج أيضا !!!
تصميم البرامج ؟؟ كيف يتم هذا !
سنتعرف عن هذا في موضوع لاحق بإذن الله،
أما الآن فإليك بعض المصادر التي ستساعدك في فهم الpoo أكثر و أكثر بإذن الله.

• Introduction à la programmation orientée objet (en Java) offert par École polytechnique fédérale de Lausanne.
https://fr.coursera.org/.../programmation-orientee-objet...
اذا كانت لديك مشاكل في التسجيل في الكورس يرجى التواصل معي. ( الكورس مجاني، الشهادة مدفوعة و لا تحتاجها )