الفرق بين تعدد الأشكال والوراثة في OOP

جدول المحتويات:

الفرق بين تعدد الأشكال والوراثة في OOP
الفرق بين تعدد الأشكال والوراثة في OOP

فيديو: الفرق بين تعدد الأشكال والوراثة في OOP

فيديو: الفرق بين تعدد الأشكال والوراثة في OOP
فيديو: Inheritance & Polymorphism - OOP {4/4} - البرمجة الشيئية 2024, يونيو
Anonim

الفرق الرئيسي - تعدد الأشكال مقابل الوراثة في OOP

تستخدم البرمجة الشيئية (OOP) بشكل شائع لتطوير البرمجيات. تدعم العديد من لغات البرمجة البرمجة الشيئية. البرمجة الشيئية هي منهجية لتصميم برنامج باستخدام الفئات والكائنات. الفئة في OOP عبارة عن مخطط لإنشاء كائن. فئة لها خصائص وطرق. الكائن هو مثيل لفئة. يحتوي OOP على أربعة أركان مثل الوراثة وتعدد الأشكال والتجريد والتغليف. تتناول هذه المقالة الفرق بين تعدد الأشكال والوراثة في OOP. يتمثل الاختلاف الرئيسي بين تعدد الأشكال والوراثة في OOP في أن تعدد الأشكال هو قدرة الكائن على التصرف بطرق متعددة والوراثة هي إنشاء فئة جديدة باستخدام خصائص وطرق فئة موجودة.

ما هو تعدد الأشكال في OOP؟

تعدد الأشكال للإشارة إلى أشكال متعددة. كائن واحد يمكن أن يكون له سلوكيات متعددة. يمكن تقسيم تعدد الأشكال إلى فئتين. إنهم يفرطون في التحميل ويتجاوزون.

الزائد

راجع البرنامج أدناه المكتوب بلغة جافا.

الفرق بين تعدد الأشكال والوراثة في OOP
الفرق بين تعدد الأشكال والوراثة في OOP

الشكل 01: التحميل الزائد

وفقًا للبرنامج أعلاه ، يتم إنشاء كائن من النوع أ. عند استدعاء obj.sum () ؛ سيعطي الناتج المتعلق بالطريقة مجموع (). عند استدعاء obj.sum (2 ، 3) ؛ سيعطي الناتج المتعلق بالمجموع (int a ، int b). يمكن ملاحظة أن نفس الكائن له سلوكيات مختلفة حسب الموقف. عندما تكون هناك عدة طرق بنفس الاسم ، ولكن مع معلمات مختلفة ، يُعرف ذلك باسم التحميل الزائد.يُعرف أيضًا باسم الربط الثابت أو تعدد أشكال وقت التجميع.

تجاوز

نوع آخر من تعدد الأشكال هو المهيمن. الرجوع إلى البرنامج أدناه مكتوب بلغة جافا.

الفرق بين تعدد الأشكال والوراثة في OOP_ الشكل 02
الفرق بين تعدد الأشكال والوراثة في OOP_ الشكل 02

الشكل 02: تجاوز

وفقًا للبرنامج أعلاه ، هناك طريقة عرض () في الفئة A. تمتد الفئة B من الفئة A. لذلك ، يمكن الوصول إلى جميع الطرق في الفئة A بواسطة الفئة B. إنها وراثة. سيتم وصف مفهوم الميراث لاحقًا.

الفئة B لها نفس طريقة العرض (). عند إنشاء كائن من النوع A واستدعاء طريقة العرض ، سيعطي الإخراج B. يتم تجاوز طريقة عرض الفئة A بواسطة طريقة عرض الفئة B. إذن ، الناتج هو B.

عندما تكون هناك عمليات بنفس الاسم ونفس المعلمات ولكن في فئتين مختلفتين ، وترتبط بالوراثة ، تُعرف باسم overriding.يُعرف أيضًا باسم الربط المتأخر ، الربط الديناميكي ، تعدد الأشكال وقت التشغيل. يُطلق على التحميل الزائد والتجاوز تعدد الأشكال. إنه مفهوم رئيسي في البرمجة الشيئية.

ما هو الميراث في OOP؟

راجع البرنامج أدناه المكتوب بلغة جافا.

الفرق الرئيسي بين تعدد الأشكال والوراثة في OOP
الفرق الرئيسي بين تعدد الأشكال والوراثة في OOP

الشكل 03: مثال على الميراث

وفقًا للبرنامج أعلاه ، تحتوي الفئة A على طريقة sum () والفئة B لها طريقة فرعية ().

يمكن استخدام طريقة sum () للفئة A في الفئة B باستخدام تمديد الكلمة الأساسية. يُعرف إعادة استخدام الخصائص والطرق في فئة موجودة لإنشاء فئة جديدة باسم الوراثة. حتى لا توجد طريقة sum () في الفئة B ؛ إنه موروث من الفئة أ. الوراثة مفيدة لإعادة استخدام الكود. الفئة الأقدم تسمى الفئة الأساسية أو الطبقة الفائقة أو فئة الأصل.يطلق على الفئة المشتقة فئة فرعية أو فئة فرعية.

أنواع الميراث

هناك أنواع مختلفة من الميراث. هم الوراثة ذات المستوى الواحد ، الوراثة متعددة المستويات ، الوراثة المتعددة ، الوراثة الهرمية والوراثة الهجينة.

وراثة واحدة

في الميراث الفردي ، هناك فئة واحدة وفئة فرعية واحدة. إذا كانت الفئة A هي الفئة الممتازة والفئة B هي الفئة الفرعية ، فإن جميع خصائص وطرق الفئة A يمكن الوصول إليها بواسطة الفئة B. يوجد مستوى واحد فقط ؛ لذلك ، يطلق عليه اسم الميراث أحادي المستوى.

الوراثة متعددة المستويات

في الوراثة متعددة المستويات هناك ثلاثة مستويات من الفئات. الطبقة المتوسطة ترث من الطبقة الممتازة. الطبقة الفرعية ترث من الطبقة المتوسطة. إذا كانت هناك ثلاث فئات مثل A و B و C و A هي الفئة الممتازة و B هي الفئة المتوسطة. ثم يرث B من A و C من B ، فهو موروث متعدد المستويات.

تعدد الميراث

في الوراثة المتعددة ، هناك العديد من الفئات الفائقة وفئة فرعية واحدة. إذا كانت هناك ثلاث فئات فائقة تسمى A و B و C و D هي الفئة الفرعية ، فيمكن للفئة D أن ترث من A و B و C. يتم دعم الوراثة المتعددة في لغة البرمجة C ++. إنه غير مدعوم في لغات البرمجة مثل Java أو C. تستخدم الواجهات لتنفيذ الوراثة المتعددة بهذه اللغات.

الوراثة الهرمية

إذا كانت هناك فئات تسمى A كفئات فائقة و B و C هي فئات فرعية ، فيمكن لهذه الفئات الفرعية أن ترث خصائص وطرق الفئة A. يُعرف هذا النوع من نوع الوراثة باسم Hierarchical Inheritance.

الوراثة الهجينة

هناك نوع وراثي خاص آخر يعرف باسم الوراثة الهجينة. إنه مزيج من الميراث متعدد المستويات والمتعدد. إذا كانت A و B و C و D عبارة عن فئات و B يرث من A و D يرث من كل من B و C ، فهو وراثة هجينة.

ما هي أوجه التشابه بين تعدد الأشكال والوراثة في OOP؟

كلاهما مفاهيم البرمجة الشيئية

ما هو الفرق بين تعدد الأشكال والوراثة في OOP؟

تعدد الأشكال مقابل الوراثة في OOP

تعدد الأشكال هو قدرة الكائن على التصرف بطرق متعددة. الوراثة هو إنشاء فئة جديدة باستخدام خصائص وطرق فئة موجودة.
الاستخدام
يستخدم تعدد الأشكال للكائنات للاتصال بأي شكل من الأساليب في وقت الترجمة ووقت التشغيل. الوراثة تستخدم لإعادة استخدام الكود.
تنفيذ
يتم تنفيذ تعدد الأشكال في الأساليب. الوراثة تنفذ في الفصول
الفئات
يمكن تقسيم تعدد الأشكال إلى تحميل زائد وتجاوز. يمكن تقسيم الميراث إلى وراثة ذات مستوى واحد ، ومتعدد المستويات ، وهرمي ، ومختلط ، ومتعدد الميراث.

ملخص - تعدد الأشكال مقابل الوراثة في OOP

تعدد الأشكال والوراثة من المفاهيم الرئيسية في البرمجة الشيئية. الفرق بين تعدد الأشكال والوراثة في OOP هو أن تعدد الأشكال هو واجهة مشتركة لأشكال متعددة والوراثة هي إنشاء فئة جديدة باستخدام خصائص وطرق فئة موجودة. يستخدم كلا المفهومين على نطاق واسع في تطوير البرمجيات.

قم بتنزيل ملف PDF تعدد الأشكال مقابل الوراثة في OOP

يمكنك تنزيل نسخة PDF من هذه المقالة واستخدامها للأغراض غير المتصلة بالإنترنت وفقًا لملاحظة الاقتباس. يرجى تنزيل نسخة PDF هنا الفرق بين تعدد الأشكال والوراثة في OOP

موصى به: