هل تدعم Java الوراثة المتعددة لماذا أو لماذا لا؟
هل تدعم Java الوراثة المتعددة لماذا أو لماذا لا؟

فيديو: هل تدعم Java الوراثة المتعددة لماذا أو لماذا لا؟

فيديو: هل تدعم Java الوراثة المتعددة لماذا أو لماذا لا؟
فيديو: لماذا جافا لا تدعم الوراثة من اكثر من كلاس ؟ || ? Why is there no multiple inheritance in Java 2024, أبريل
Anonim

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

وبالتالي ، هل الميراث المتعدد مسموح به في Java؟

يدعم لغة C ++ واللثغة الشائعة وعدد قليل من اللغات الأخرى تعدد الميراث في حين جافا لا يدعمها. جافا لا السماح بميراث متعدد لتجنب الغموض الناجم عن ذلك. أحد الأمثلة على هذه المشكلة هو مشكلة الماس التي تحدث في تعدد الميراث.

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

تعرف أيضًا ، ما هي الميراث التي لا تدعمها Java لماذا؟

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

لماذا يتم استخدام الوراثة المتعددة في الواجهة؟

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

موصى به: