برنامهنویسی شیءگرا (OOP): انواع وراثت: تکسطحی و چندسطحی - کوییز
انواع وراثت: تکسطحی و چندسطحی
- یک کلاس
- دو کلاس
- چندین کلاس
- صفر کلاس
گزینه صحیح: 3
توضیح: در وراثت تک سطحی، یک کلاس پایه می تواند توسط چندین کلاس مشتق شود، اما هر کلاس مشتق شده تن ها از یک کلاس پایه ارث بری می کند.
- کلاس A ارث می برد از کلاس B و کلاس C ارث می برد از کلاس B.
- کلاس A ارث می برد از کلاس B و کلاس B ارث می برد از کلاس C.
- کلاس A ارث می برد از کلاس B و کلاس A ارث می برد از کلاس C.
- کلاس A ارث می برد از کلاس B و کلاس B ارث می برد از کلاس A.
گزینه صحیح: 2
توضیح: وراثت چندسطحی زمانی اتفاق می افتد که یک کلاس از کلاسی مشتق می شود که خود از کلاسی دیگر مشتق شده است؛ یعنی یک زنجیره وراثتی ایجاد می شود (A -> B -> C).
- وراثت تک سطحی
- وراثت چندسطحی
- وراثت سطحی
- وراثت ساده
گزینه صحیح: 2
توضیح: وراثت چندسطحی به دلیل ایجاد زنجیره های طولانی تر وراثت، می تواند درک وابستگی ها و پیگیری اینکه کدام ویژگی ها از کدام کلاس ها به ارث رسیده اند را دشوارتر کند.
- وراثت تک سطحی
- وراثت چندسطحی
- وراثت از طریق واسط (Interface Inheritance)
- وراثت مختلط (Multiple Inheritance)
گزینه صحیح: 2
توضیح: این مثال یک زنجیره وراثتی را نشان می دهد: Vehicle (پایه) -> Car (مشتق از Vehicle) -> ElectricCar (مشتق از Car). این ساختار مشخصه وراثت چندسطحی است.
- وراثت تک سطحی
- وراثت چندسطحی
- وراثت مختلط (Multiple Inheritance)
- وراثت از طریق کلاس انتزاعی (Abstract Class Inheritance)
گزینه صحیح: 3
توضیح: جاوا به طور مستقیم از وراثت مختلط کلاس ها پشتیبانی نمی کند تا از مشکل 'الماس' (Diamond Problem) جلوگیری کند. برای دستیابی به قابلیت های مشابه، از واسط ها استفاده می شود.
- یک کلاس می تواند از چندین کلاس دیگر ارث ببرد.
- یک کلاس فقط می تواند از یک کلاس دیگر ارث ببرد.
- یک کلاس پایه فقط می تواند یک کلاس مشتق شده داشته باشد.
- این نوع وراثت در همه زبان های شیءگرا وجود ندارد.
گزینه صحیح: 2
توضیح: تعریف اصلی وراثت تک سطحی این است که هر کلاس مشتق شده تن ها یک والد (کلاس پایه) دارد.
- کاهش استفاده از حافظه
- افزایش سرعت اجرای برنامه
- قابلیت استفاده مجدد از کد (Code Reusability)
- کاهش تعداد خطا های کامپایل
گزینه صحیح: 3
توضیح: وراثت به توسعه دهندگان اجازه می دهد تا ویژگی ها و رفتار های کلاس های موجود را بدون نیاز به بازنویسی کد، در کلاس های جدید به کار گیرند که منجر به قابلیت استفاده مجدد از کد می شود.
- نسخه متد در کلاس A
- نسخه متد در کلاس B
- نسخه متد در کلاس C
- هیچ کدام
گزینه صحیح: 3
توضیح: در وراثت چندسطحی، اگر متدی در کلاس مشتق شده (C) بازنویسی شود، نسخه بازنویسی شده در همان کلاس (C) اولویت دارد و اجرا می شود.
- یک کلاس 'Shape' که از کلاس های 'Circle' و 'Square' ارث می برد.
- یک کلاس 'Animal' که کلاس های 'Dog' و 'Cat' از آن ارث می برند.
- یک کلاس 'Vehicle' که 'Car' از آن ارث می برد و 'Car' از 'Engine' ارث می برد.
- یک کلاس 'User' که 'AdminUser' از آن ارث می برد و 'GuestUser' نیز از آن ارث می برد.
گزینه صحیح: 4
توضیح: گزینه ۴ نشان دهنده وراثت تک سطحی است که در آن 'AdminUser' و 'GuestUser' هر دو از یک کلاس پایه ('User') ارث می برند، اما هیچ کدام از دیگری ارث نمی برند و زنجیره وراثتی در یک سطح باقی می ماند.
این مطلب برگرفته از محصول آموزشی «برنامهنویسی شیءگرا: راهنمای گام به گام برای درک عمیق مفاهیم OOP، الگوهای طراحی، معماری نرمافزار و اصول طراحی تمیز» است
برای مشاهده توضیحات کامل، جزئیات دوره و دریافت محصول، روی دکمه زیر کلیک کنید.
اطلاعات بیشتر و دریافت محصول