أنواع الوراثة في Java: مفرد ومتعدد المستويات ومختلط

نشرت: 2021-06-30

مقدمة

تُستخدم لغة البرمجة "Java" على نطاق واسع في تطوير تطبيقات الأجهزة المحمولة والويب وسطح المكتب وما إلى ذلك ، فهي لغة برمجة قوية وعالية المستوى وموجهة نحو الكائنات تم تطويرها بواسطة Sun Microsystems في عام 1995. على الرغم من كونها لغة برمجة ، تحتوي Java على واجهة برمجة تطبيقات وبيئة تشغيل (JRE) ، وبالتالي تسمى أيضًا كمنصة.

توجد العديد من المفاهيم في Java ، مع أربعة مفاهيم رئيسية للتعرف على اللغة. هم التجريد والتغليف والوراثة وتعدد الأشكال.

في هذه المقالة ، سنركز على مفهوم الوراثة في Java وأنواع الوراثة في Java .

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

كما يوحي الاسم ، الوراثة تعني وراثة الخصائص. يُطلق على الآلية التي يُسمح للفئة من خلالها اشتقاق خصائص فئة مختلفة الميراث. مع مفهوم الوراثة ، يمكن تنظيم المعلومات في البرنامج بشكل هرمي.

في Java ، يسمح مفهوم الوراثة للمستخدمين بإنشاء فئات واستخدام خصائص الفئات الموجودة.

بعض المصطلحات الهامة المرتبطة بالمفهوم هي:

  • الفئة : يتم تعريفها على أنها مجموعة من الكائنات تشترك في خصائص مشتركة.
  • الفئة الفرعية : تُعرف أيضًا بالفئة المشتقة أو الممتدة ، وترث هذه الفئة الميزات من فئة أخرى. بالإضافة إلى الحقول والأساليب الموروثة ، يمكن للفئة التي تم إنشاؤها من الفصل إضافة حقول وأساليب خاصة بها.
  • الفئة الممتازة : تمثل الطبقة الفائقة الطبقة التي ترث الطبقة الفرعية ميزاتها.
  • قابلية إعادة الاستخدام : تسمح تقنية إعادة الاستخدام للمستخدم بإنشاء فئة (فئة جديدة) بها حقول أو طرق لفئة موجودة بالفعل. يسمح بإعادة استخدام الكود.

أهمية وراثة جافا

يوفر تنفيذ الوراثة في Java الفوائد التالية:

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

بناء الجملة

الصيغة الأساسية هي

فئة superclass {

—————-

}

الفئة الفرعية يمتد إلى الطبقة العليا

{

————–

—————–

}

يتم استخدام الكلمة الأساسية "يمتد" أثناء وراثة فئة. وهي تحدد أن وظائف الطبقة الفائقة يتم توسيعها لتشمل الفئة الفرعية.

تسمى الفئة الجديدة التي تم إنشاؤها فئة فرعية بينما تسمى الفئة الموروثة فئة الأصل.

الشكل 1: يظهر أدناه مثال على رمز يطبق وراثة جافا

مصدر

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

يعطي تجميع وتنفيذ الكود أعلاه المخرجات التالية.

الشكل 2: إخراج الكود في الشكل 1

مصدر

يؤدي إنشاء فئة My_Calculation إلى نسخ محتويات الطبقة الفائقة إلى الفئة الفرعية. باستخدام كائنات الفئة الفرعية ، يمكن للمستخدمين الوصول إلى عضو الفئة الفرعية.

في حالات معينة عندما يتعين علينا التفريق بين أعضاء الفئة الفرعية وأعضاء الفئة العليا التي لها نفس الأسماء ، يتم استخدام الكلمة الأساسية "super". إذا كان من المفترض أن يكون لدينا فئتان Sub_class و Super_class لهما نفس الطريقة مثل display (). يختلف تنفيذ الطريقة ولكن لها نفس الاسم. في مثل هذه الحالة ، للتمييز بين طريقة الطبقة الفائقة وطريقة الفئة الفرعية ، يجب استخدام الكلمة الأساسية الممتازة.

أنواع وراثة جافا

يتم ملاحظة أنواع الوراثة المختلفة في Java:

1. الميراث ذو المستوى الواحد

كما يوحي الاسم ، يحدث هذا النوع من الوراثة لفئة واحدة فقط. يتم اشتقاق فئة واحدة فقط من فئة الأصل. يظهر مخطط التدفق لميراث واحد أدناه:

الشكل 3: توضيح رسومي للميراث أحادي المستوى

مصدر

يتم عرض فئتين من الفئة A والفئة B في الشكل 3 ، حيث ترث الفئة B خصائص الفئة A.

الشكل 4 : مثال لرمز يطبق الوراثة أحادية المستوى

مصدر

2. الميراث متعدد المستويات

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

الشكل 5: مخطط تدفق للميراث متعدد المستويات

مصدر

من الرسم البياني للتدفق في الشكل 5 ، يمكننا أن نلاحظ أن الفئة B هي فئة مشتقة من الفئة A ، وأن الفئة C مشتقة أيضًا من الفئة B. ولذلك ظهر مفهوم فئة الأجداد في الوراثة متعددة المستويات. ومع ذلك ، لا يمكن الوصول إلى أعضاء فئة الأجداد مباشرة في Java.

لذلك ، يوضح الشكل 5 أن الفئة C ترث طرق وخصائص كل من الفئة A والفئة B.

يتم عرض مثال للوراثة متعددة المستويات أدناه مع ثلاث فئات X و Y و Z. الفئة Y مشتق من الفئة X التي تخلق أيضًا الفئة Z.

الشكل 6: مثال على الميراث متعدد المستويات

مصدر

3. الميراث الهرمي

يُعرف نوع الوراثة حيث ترث العديد من الفئات الفرعية من فئة واحدة باسم الميراث الهرمي.

الشكل 7: تمثيل رسومي للميراث الهرمي.

في الشكل 7 ، يمكننا أن نلاحظ أن الفئات الثلاث هي الفئة B ، والفئة C ، والفئة D موروثة من الفئة الفردية A. جميع الفئات الفرعية لها نفس الفئة الأصل في الميراث الهرمي.

الشكل 8: مثال على رمز يوضح مفهوم الميراث الهرمي

مصدر

ينتج الكود أعلاه الإخراج

تموء ...

يتناول الطعام…

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

4. تعدد الميراث

الميراث المتعدد هو نوع من الوراثة حيث يمكن للفئة الفرعية أن ترث ميزات من أكثر من فئة رئيسية واحدة.

الشكل 9: تمثيل الميراث المتعدد

مصدر

يوضح الشكل 4 أن الفئة C مشتقة من الفئتين الفئة A والفئة B. وبعبارة أخرى يمكن وصف أن الفئة الفرعية C ترث الخصائص من كلا الصنفين A و B.

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

الوراثة الهجينة هي نوع من الميراث الذي يجمع بين الميراث الفردي والميراث المتعدد. نظرًا لأن Java لا تدعم الوراثة المتعددة ، يمكن أيضًا تحقيق الوراثة المختلطة من خلال الواجهات فقط.

الشكل 10: تمثيل وراثة هجينة

مصدر

مع الأنواع المختلفة للوراثة في Java ، فإن الهدف النهائي هو إنشاء فئات فرعية لها خصائص موروثة من الفئات الفائقة. للفئات الفرعية التي تم إنشاؤها خصائص مختلفة وهي:

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

تعلم دورات البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

ناقش المقال المفهوم المهم للوراثة في Java وأنواع الوراثة في Java . وبالتالي فإن الوراثة هي الآلية التي يمكننا من خلالها إعادة استخدام الرموز من أجل الحصول على خصائص فئة ما إلى فئة أخرى. يمكن تحقيق ذلك من خلال الأنواع المختلفة لأنماط الوراثة كما هو موضح في المقالة. ومع ذلك ، هناك الكثير لمفهوم الميراث. للتميز في مجال التطوير ، يلزم إتقان البرمجة المعقدة لجافا. إذا كان لديك حلم في ابتكار أجهزة ذكية ، فسيكون الخيار الأفضل لبرنامج Executive PG في تطوير البرامج الكامل الذي توفره upGrad’s . تقدم الدورة التدريبية المعتمدة من جامعة Liverpool John Moores بالتعاون مع IIIT Bangalore أكثر من 500 ساعة تعليمية وهي مصممة للمهنيين الأوائل. ستساعد المهارة المكتسبة من دورة upGrad في فتح الفرص نحو مجال تطوير البرمجيات ، وتطوير الويب ، ومطور جافا سكريبت ، وما إلى ذلك. مفتوحة لأي جنس ضمن الفئة العمرية من 21 إلى 45 عامًا ، وقد يكون البرنامج التفاعلي هو الخيار الأفضل لـ كل المبرمجين.

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

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

ما هي البرمجة الشيئية؟

ما هو تعدد الميراث؟