وراثة متعددةوراثة متعددة (بالإنجليزية: Multiple inheritance) هو سمة من سمات بعض لغات البرمجة كائنية التوجه التي هي عبارة عن وراثة الكائن أو الصنف لخصائص وسمات من كائن أو أكثر من الكائنات الأصل أو الأصناف الأصل. وهي تختلف عن الوراثة الفردية، حيث قد يرث كائن أو صنف فقط من كائن أو صنف معين. لقد كان الميراث المتعدد مسألة حساسة لسنوات عديدة، [1] [2] حيث أشار المعارضون إلى زيادة تعقيدها وغموضها في حالات مثل «مشكلة الألماس» diamond problem، حيث قد تكون غامضة حول من أي صنف من الأصناف الأصل تورث الميزة معينة ما إذا كان هناك أكثر من صنف من الأصناف الأصل تنفذ الميزة المذكورة. يمكن معالجة ذلك بطرق مختلفة، بما في ذلك استخدام الوراثة الافتراضية.[3] كما تم اقتراح طرق بديلة لتكوين الكائن لا تعتمد على الميراث مثل الخلطات والسمات لمعالجة الغموض. مشكلة الألماس«مشكلة الماس» (يشار إليها أحيانًا باسم «الألماس المميت للموت» "Deadly Diamond of Death" [4]) هي غموض ينشأ عندما يرث صنفان B و C من A ، ويرث الصنف D من كل من B و C.إذا وُجدت الطريقة في A والتي تقوم في B و C بتجاوزها، وD لا يتجاوزها، ونتج عن ذلك السؤال التالي أي نسخة من الطريقة تلك يجب أن يرثها الصنف D: أن من B، أو أن من C؟ على سبيل المثال، في سياق تطوير برامج واجهة المستخدم الرسومية، قد يرث يطلق عليها «مشكلة الألماس» بسبب شكل مخطط وراثة الأصناف في هذه الحالة. لذلك، يكون الصنف A في الأعلى، كل من B و C بشكل منفصل تحتها، و D تربط الاثنين معًا في الأسفل لتشكيل شكل ألماسي. انظر أيضًاالمراجع
روابط خارجية |