چرا وراثت چندگانه در C++ پشتیبانی می شود اما در جاوا پشتیبانی نمی شود؟
چرا وراثت چندگانه در C++ پشتیبانی می شود اما در جاوا پشتیبانی نمی شود؟

تصویری: چرا وراثت چندگانه در C++ پشتیبانی می شود اما در جاوا پشتیبانی نمی شود؟

تصویری: چرا وراثت چندگانه در C++ پشتیبانی می شود اما در جاوا پشتیبانی نمی شود؟
تصویری: چرا وراثت چندگانه توسط جاوا پشتیبانی نمی شود؟ #مصاحبه جاوا #ارثی چندگانه #ارث 2024, آوریل
Anonim

C++ ، زبان رایج و چند زبان دیگر از وراثت چندگانه پشتیبانی می کند در حالی که جاوا نمی کند پشتیبانی آی تی. جاوا اجازه نمی دهد ارث چندگانه تا از ابهام ناشی از آن جلوگیری شود. یکی از مصادیق چنین مشکلی مشکل الماس است که در آن رخ می دهد ارث چندگانه.

بر این اساس، چرا وراثت چندگانه در جاوا پشتیبانی نمی شود؟

جاوا پشتیبانی می کند ارث چندگانه فقط از طریق رابط ها یک کلاس می تواند هر تعداد اینترفیس را پیاده سازی کند اما می تواند تنها یک کلاس را گسترش دهد. ارث چندگانه است نه پشتیبانی می شود زیرا منجر به مشکل مرگبار الماس می شود. شما هیچ عملکردی از رابط به دست نیاورید.

همچنین مشکل الماس در ارث چندگانه چیست؟ مشکل الماس ” ابهامی است که می تواند در نتیجه اجازه ایجاد شود ارث چندگانه . جدی است مسئله برای زبان هایی (مانند C++) که اجازه می دهند ارث چندگانه دولت اما در جاوا، ارث چندگانه برای کلاس‌ها مجاز نیست، فقط برای رابط‌ها، و اینها شامل حالت نیستند.

به همین ترتیب، مردم می پرسند، چرا C++ از وراثت چندگانه پشتیبانی می کند اما C# این کار را نمی کند؟

ارث چندگانه که در سی شارپ سی شارپ از وراثت چندگانه پشتیبانی نمی کند ، زیرا استدلال کردند که اضافه کردن ارث چندگانه پیچیدگی زیادی به آن اضافه کرد سی شارپ در حالی که سود بسیار کمی ارائه می دهد. که در سی شارپ ، کلاس ها فقط مجاز هستند به ارث می برند از یک کلاس تک والد که تک نامیده می شود وراثت.

C++ چگونه از وراثت چندگانه پشتیبانی می کند؟

برخلاف بسیاری از زبان های برنامه نویسی شی گرا دیگر، C++ اجازه می دهد ارث چندگانه . ارث چندگانه به یک کلاس کودک اجازه می دهد به ارث می برند از بیش از یک کلاس والدین کلاس حیوانات و خزندگان به ارث می برند از آن. فقط کلاس Animal متد breathe() را لغو می کند.