This post is also available in: English (الإنجليزية) हिन्दी (الهندية)
لغة البرمجة هي لغة كمبيوتر يستخدمها المبرمجون / المطورون للتواصل مع أجهزة الكمبيوتر. إنها مجموعة من التعليمات المكتوبة بأي لغة محددة مثل C و ++C و Java و Python وما إلى ذلك لأداء مهمة محددة. تُستخدم لغة البرمجة بشكل أساسي لتطوير تطبيقات سطح المكتب ومواقع الويب وتطبيقات الهاتف المحمول.
تستخدم لغات البرمجة المختلفة أنواعًا مختلفة من الأساليب المعروفة عمومًا باسمنماذج البرمجة. أكثر نماذج البرمجة استخدامًا هما البرمجة الإجرائية و البرمجة الشيئية (OOP). تتناول هذه المقالة الاختلافات بين نهج البرمجة الإجرائية OOPs.
البرمجة الإجرائية و البرمجة الشيئية كلاهما نهج برمجة يستخدم لغة عالية المستوى للبرمجة. يمكن كتابة البرنامج بكلتا اللغتين ، ولكن إذا كانت المهمة معقدة للغاية ، فإن OOP تعمل بشكل جيد مقارنة بالبرمجة الإجرائية. في البرمجة الإجرائية التقليدية ، يكون أمان البيانات في خطر حيث تتحرك البيانات بحرية في البرنامج ، بالإضافة إلى عدم إمكانية إعادةاستخدام الكود مما يجعل البرمجة طويلة ويصعب فهمها.
تؤدي البرامج الكبيرة إلى مزيد من الأخطاء وتزيد من وقت التصحيح. كل هذه العيوب تجعل البرمجة الموجهة للكائنات أكثر تفضيلاً. الشغل الشاغل للبرمجة الموجهة للكائنات هو أمن البيانات لأنه يربط البيانات بشكل وثيق بالوظائف التي تعمل عليها.
كما أنه يحل مشكلة إعادة استخدام الكود ، لأنه عندما يتم إنشاء فئة ، يمكن إنشاء مثيلاتها المتعددة المعروفة باسم الكائنات والتي تعيد استخدام وظائف الأعضاء المحددة بواسطة فئة. هناك بعض الاختلافات الأخرى التي سنناقشها في هذه المقالة. قبل الانتقال إلى الاختلافات بين OOPs والبرمجة الإجرائية ، دعونا ننظر في هذين النموذجين.
ما هي البرمجة الإجرائية؟
يمكن وصف البرمجة الإجرائية كنموذج برمجة مشتق من البرمجة المهيكلة ، بناءً على مفهوم إجراءات الاستدعاء. يشار إلى هذه الإجراءات أيضًا على أنها إجراءات روتينية أو وظائف أو إجراءات فرعية وتتألف عادةً من العديد من الخطوات الحسابية التي يتعين تنفيذها. أثناء تنفيذ البرنامج ، قد يتم استدعاء أي إجراء معين في أي وقت ، بما في ذلك الإجراءات الأخرى أو نفسها.
مفاهيم البرمجة الإجرائية
فيما يلي المفاهيم المستخدمة في البرمجة الإجرائية:
- أثناء تصميم البرنامج ، تتبع البرمجة الإجرائية نهج البرمجة من أعلى إلى أسفل.
- تسمح غالبية الوظائف بمشاركة البيانات العالمية.
- يقسم البرامج الأكبر إلى أجزاء أصغر تسمى الوظائف.
- يسمح بحركة البيانات المجانية حول النظام من الوظائف إلى الوظائف.
- يتم تحويل البيانات بواسطة الوظائف من شكل إلى آخر.
- يعطي أهمية لمفهوم الوظائف.
ما هي البرمجة الشيئية؟
يمكن وصف البرمجة الشيئية بأنها نموذج برمجة يعتمد على مفاهيم الكائنات. يمكن أن تحتوي الكائنات على بيانات في شكل سمات ورمز في شكل طرق أو وظائف. في منهجه ، عادة ما يتم تصميم برامج الكمبيوتر باستخدام مفهوم الأشياء التي تتفاعل مع العالم الحقيقي.
تم تطوير OOP بناءً على المفهوم الأساسي للكائنأو الفئةأو تغليف البيانات أو تجريد البيانات أو الميراث أو تعدد الأشكالأو التحميل الزائد. في OOP ، يمكن تقسيم البرامج إلى وحدات عن طريق تقسيم البيانات والوظائف ، والتي يمكن استخدامها أيضًا كقوالب لإنشاء نسخ جديدة من الوحدات ، إذا لزم الأمر. هناك ، إنه نهج يسهل تشكيل البرامج من خلال إنشاء منطقة ذاكرة مقسمة للبيانات والوظائف.
المفاهيم الشيئية
OOPs Concepts
فيما يلي المفاهيم المستخدمة في البرمجة الشيئية:
- الكائنات: يعتبر متغيرًا من فئة النوع ومثيلًا للفئة.
- الفئة: هي مجموعة من الأشياء من نفس النوع تقوم مجموعة كاملة من البيانات والتعليمات البرمجية للكائن بإنشاء نوع بيانات معرف بواسطة المستخدم باستخدام فئة.
- تجريد البيانات وتغليفها: التجريد هو طريقة لإخفاء تفاصيل الخلفية وتمثيل السمات الأساسية. التغليف هو طريقة لتعبئة البيانات والوظائف في وحدة واحدة.
- الوراثة: الوراثة هي تقنية لاكتساب ميزات الكائنات من فئة إلى كائنات الطبقة الأخرى. بمعنى آخر ، يساعد في اشتقاق فئة جديدة من الفئة الحالية.
- تعدد الأشكال: يوفر تعدد الأشكال طريقة لإنشاء أشكال متعددة من الوظيفة باستخدام اسم وظيفة واحدة.
- الربط الديناميكي: يحدد أن الكود المرتبط بإجراء معين غير معروف حتى لحظة المكالمة في وقت التشغيل.
- تمرير الرسائل: يتيح مفهومOOP هذا التفاعل بين الفئات المختلفة عن طريق إرسال واستقبال المعلومات.
الاختلافات بين OOPs والبرمجة الإجرائية
أساس المقارنة | البرمجة الإجرائية | البرمجة الشيئية |
مقاربة | من أعلى إلى أسفل | تصاعدي |
أساس | ينصب التركيز الرئيسي على كيفية إنجاز المهمة. هذا هو الإجراء أو هيكل البرنامج. | ينصب التركيز الرئيسي على أمن البيانات. في هذا النهج ، يُسمح فقط للكائنات بالوصول إلى كيانات الفئة. |
قسم | ينقسم البرنامج الكبير إلى وحدات تسمى الوظائف. | البرنامج بأكمله مقسم إلى كائنات. |
وضع الوصول إلى الكيان | لا يوجد محدد وصول لوحظ. | محددات الوصول public وprivate وprotected. |
التحميل الزائد أو تعدد الأشكال | لا تفرط في الوظائف ولا المشغلين. | إنه يثقل كاهل الوظائف والمنشئين والمشغلين. |
ميراث | لا يوجد نص في الميراث. | يتم تحقيق الميراث في ثلاثة أنماط – عامة وخاصة ومحمية. |
إخفاء البيانات وتأمينها | لا توجد طريقة مناسبة لإخفاء البيانات ، وبالتالي فإن البيانات غير آمنة. | يتم إخفاء البيانات في ثلاثة أوضاع – public وprivate وprotected. ومن ثم ، يزداد أمن البيانات. |
تبادل البيانات | يتم تقاسم البيانات العالمية بين الوظائف في البرنامج. | يتم مشاركة البيانات بين الكائنات من خلال وظائف الأعضاء. |
وظائف الأصدقاء أو فصول الأصدقاء | لا يوجد مفهوم وظائف الصديق. | يمكن أن تصبح الفصول الدراسية أو الوظائف صديقة لفئة أخرى. على سبيل المثال في ++C الكلمة الرئيسية friendيستخدم. |
دروس افتراضية أو وظائف افتراضية | لا يوجد مفهوم للفصول الافتراضية. | يظهر مفهوم الوظيفة الافتراضية أثناء الوراثة. |
أمثلة | سي ، فورتران ، باسكال ، فيجوال بيسك | ++C ، جافا ، VB.NET |
مزايا وعيوب البرمجة الإجرائية والكائنية
فيما يلي مزايا البرمجة الإجرائية والكائنية:
البرمجة الإجرائية
- يوفر القدرة على إعادة استخدام نفس الرمز في أماكن مختلفة.
- يسهل تتبع تدفق البرنامج.
- قادر على بناء وحدات.
البرمجة الشيئية
- تساعد الكائنات في تقسيم المهام في المشروع.
- يمكن بناء البرامج الآمنة باستخدام إخفاء البيانات.
- يمكن أن يحتمل تعيين الكائنات.
- تمكن من تصنيف الكائنات إلى فئات مختلفة.
- يمكن ترقية الأنظمة الموجهة للكائنات بسهولة.
- يمكن التخلص من الرموز الزائدة باستخدام الميراث.
- يمكن تمديد الرموز باستخدام قابلية إعادة الاستخدام.
- يمكن تحقيق نمطية أكبر.
- يزيد تجريد البيانات الموثوقية.
- مرنة بسبب مفهوم الربط الديناميكي.
- يفصل المواصفات الأساسية عن تنفيذها باستخدام إخفاء المعلومات.
فيما يلي عيوب البرمجة الإجرائية والكائنية:
البرمجة الإجرائية
- البيانات العالمية معرضة للخطر.
- من الصعب التحقق من موضع البيانات في البرنامج.
- الوظائف ذات منحى عملي وليست قادرة على الارتباط بعناصر المشكلة.
- لا يمكن صياغة مشاكل العالم الحقيقي.
- أجزاء من الكود مستقلة.
- لا يمكن استخدام رمز تطبيق واحد في تطبيق آخر.
البرمجة الشيئية
- يتطلب المزيد من الموارد.
- يتطلب السلوك الديناميكي للكائنات تخزين ذاكرة الوصول العشوائي.
- يكون الاكتشاف وتصحيح الأخطاء أصعب في التطبيقات المعقدة عند تنفيذ تمرير الرسالة.
- الميراث يجعل فصولهم مرتبطة بإحكام ، مما يؤثر على قابلية إعادة استخدام الأشياء.
وتجدر الإشارة إلى أن عيوب نموذج البرمجة الإجرائية التقليدية تنشأ من الحاجة إلى البرمجة الشيئية. يصحح OPP عيوب البرمجة الإجرائية من خلال تقديم مفهوم الكائن والفئة. يعزز أمن البيانات والتهيئة التلقائية وتصفية الكائنات. يتيح OOP إمكانية إنشاء مثيلات متعددة للكائن دون أي تدخل.