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

تصویری: آیا جاوا از وراثت چندگانه پشتیبانی می کند چرا یا چرا نه؟

تصویری: آیا جاوا از وراثت چندگانه پشتیبانی می کند چرا یا چرا نه؟
تصویری: سازندگان جاوا ارث چندگانه را رد کردند - در اینجا دلیل آن است 2024, نوامبر
Anonim

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

در نتیجه، آیا وراثت چندگانه در جاوا مجاز است؟

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

همچنین بدانید چرا ارث چندگانه بد است؟ خطر با ارث چندگانه پیچیدگی است از آنجایی که ممکن است تأثیر بگذاری چندگانه ماژول های موجود در برنامه شما از همان کلاس های والد، استدلال در مورد تغییرات کد چندان آسان نیست. هر اشتباهی می تواند باعث واکنش زنجیره ای باگ ها شود. اینجاست که ارث چندگانه می تواند مولد شود.

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

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

چرا وراثت چندگانه در رابط استفاده می شود؟

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

توصیه شده: