Product Design, Manufacturing & Innovation Resources
بيت » الوراثة (البرمجة الكائنية التوجه)

الوراثة (البرمجة الكائنية التوجه)

1967
  • Kristen Nygaard
  • Ole-Johan Dahl
ترميز المبرمج التوريث في البرمجة الموجهة للكائنات في مكتب حديث.

(صورة تم إنشاؤها للتوضيح فقط)

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

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

توجد أنواع مختلفة من الوراثة، منها الوراثة الأحادية (حيث ترث فئة من فئة أساسية واحدة فقط)، والوراثة المتعددة (حيث ترث فئة من أكثر من فئة أساسية)، والوراثة متعددة المستويات (حيث ترث فئة من فئة أخرى هي بدورها فئة فرعية). ورغم قوة الوراثة، إلا أنها قد تُسبب تعقيدًا وترابطًا وثيقًا بين الفئات الأساسية والفرعية. وقد يؤدي الإفراط في استخدامها إلى هياكل هرمية عميقة ومعقدة يصعب فهمها وصيانتها. غالبًا ما يُفضل التصميم الحديث التركيب على الوراثة، حيث يحتوي كائن ما على نسخة من كائن آخر لتحقيق إعادة استخدام الكود، وهو ما يُمثل علاقة "يحتوي على".

UNESCO Nomenclature: 1203
- علوم الحاسب الآلي

يكتب

النظام التجريدي

الاضطراب

المالية الفرعية

الاستخدام

الاستخدام الواسع النطاق

السلائف

  • مفهوم التصنيف الهرمي في علم الأحياء والفلسفة
  • هياكل البيانات التي يمكن أن تحتوي على هياكل بيانات أخرى
  • الحاجة إلى إعادة استخدام الكود في أنظمة البرمجيات الكبيرة
  • تصميم لغة المحاكاة، التي أدخلت الفئات والوراثة

التطبيقات

  • gui widget toolkits (e.g., a ‘button’ class inheriting from a ‘control’ class)
  • أطر عمل لتطوير الويب (على سبيل المثال، فئات التحكم التي ترث من وحدة تحكم أساسية)
  • game development (e.g., ‘orc’ and ‘elf’ classes inheriting from a ‘character’ class)
  • نمذجة التصنيفات البيولوجية
  • إنشاء أنواع استثناءات متخصصة في لغات البرمجة

براءات الاختراع:

NA

أفكار ابتكارات محتملة

بسبب عمليات جمع البيانات من خلال برامج الروبوت، والتي تتجاوز حاليًا 40 ألفًا يوميًا، فإن هذا المحتوى مخصص لأعضاء المجتمع فقط.
> تسجيل الدخول < أو > سجل < (مجاني 100٪) للوصول إلى هذا، وكذلك جميع المحتويات والأدوات الأخرى المقيدة.

يتعلق بـ: الوراثة، الفئة الفرعية، الفئة الأصلية، الفئة المشتقة، الفئة الأساسية، إعادة استخدام الكود، التسلسل الهرمي، علاقة "هو نوع من"، تعدد الأشكال، التجاوز.

السياق التاريخي

الوراثة (البرمجة الكائنية التوجه)

1953
1960
1960
1967
1970
1970
1970
1952
1956
1960
1967
1967
1970
1970
1970

(إذا كان التاريخ غير معروف أو غير ذي صلة، على سبيل المثال "ميكانيكا الموائع"، يتم توفير تقدير تقريبي لظهوره الملحوظ)

الاختراع والابتكار والمبادئ التقنية ذات الصلة

الصور بالحجم الكامل والتنزيلات متاحة فقط 100% مجاناً للأعضاء المسجلين.