برنامه‌نویسی شیءگرا (OOP): انواع وراثت: تک‌سطحی و چندسطحی - کوییز

انواع وراثت: تک‌سطحی و چندسطحی

در وراثت تک سطحی (Single Inheritance)، یک کلاس پایه چند کلاس مشتق شده می تواند داشته باشد؟
  1. یک کلاس
  2. دو کلاس
  3. چندین کلاس
  4. صفر کلاس

گزینه صحیح: 3

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

کدام یک از موارد زیر، مثالی از وراثت چندسطحی (Multilevel Inheritance) در برنامه نویسی شیءگرا است؟
  1. کلاس A ارث می برد از کلاس B و کلاس C ارث می برد از کلاس B.
  2. کلاس A ارث می برد از کلاس B و کلاس B ارث می برد از کلاس C.
  3. کلاس A ارث می برد از کلاس B و کلاس A ارث می برد از کلاس C.
  4. کلاس A ارث می برد از کلاس B و کلاس B ارث می برد از کلاس A.

گزینه صحیح: 2

توضیح: وراثت چندسطحی زمانی اتفاق می افتد که یک کلاس از کلاسی مشتق می شود که خود از کلاسی دیگر مشتق شده است؛ یعنی یک زنجیره وراثتی ایجاد می شود (A -> B -> C).

کدام نوع وراثت، پیچیدگی بیشتری در مدیریت وابستگی ها و درک جریان داده ها ایجاد می کند؟
  1. وراثت تک سطحی
  2. وراثت چندسطحی
  3. وراثت سطحی
  4. وراثت ساده

گزینه صحیح: 2

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

فرض کنید کلاسی به نام 'Vehicle' داریم. اگر کلاسی به نام 'Car' از 'Vehicle' ارث ببرد و کلاسی به نام 'ElectricCar' از 'Car' ارث ببرد، این چه نوع وراثتی است؟
  1. وراثت تک سطحی
  2. وراثت چندسطحی
  3. وراثت از طریق واسط (Interface Inheritance)
  4. وراثت مختلط (Multiple Inheritance)

گزینه صحیح: 2

توضیح: این مثال یک زنجیره وراثتی را نشان می دهد: Vehicle (پایه) -> Car (مشتق از Vehicle) -> ElectricCar (مشتق از Car). این ساختار مشخصه وراثت چندسطحی است.

در زبان جاوا، کدام نوع وراثت به طور مستقیم پشتیبانی نمی شود و باید از طریق واسط ها (Interfaces) پیاده سازی شود؟
  1. وراثت تک سطحی
  2. وراثت چندسطحی
  3. وراثت مختلط (Multiple Inheritance)
  4. وراثت از طریق کلاس انتزاعی (Abstract Class Inheritance)

گزینه صحیح: 3

توضیح: جاوا به طور مستقیم از وراثت مختلط کلاس ها پشتیبانی نمی کند تا از مشکل 'الماس' (Diamond Problem) جلوگیری کند. برای دستیابی به قابلیت های مشابه، از واسط ها استفاده می شود.

کدام گزاره در مورد وراثت تک سطحی (Single Inheritance) صحیح است؟
  1. یک کلاس می تواند از چندین کلاس دیگر ارث ببرد.
  2. یک کلاس فقط می تواند از یک کلاس دیگر ارث ببرد.
  3. یک کلاس پایه فقط می تواند یک کلاس مشتق شده داشته باشد.
  4. این نوع وراثت در همه زبان های شیءگرا وجود ندارد.

گزینه صحیح: 2

توضیح: تعریف اصلی وراثت تک سطحی این است که هر کلاس مشتق شده تن ها یک والد (کلاس پایه) دارد.

کدام یک از مزایای اصلی وراثت (به طور کلی) در برنامه نویسی شیءگرا است؟
  1. کاهش استفاده از حافظه
  2. افزایش سرعت اجرای برنامه
  3. قابلیت استفاده مجدد از کد (Code Reusability)
  4. کاهش تعداد خطا های کامپایل

گزینه صحیح: 3

توضیح: وراثت به توسعه دهندگان اجازه می دهد تا ویژگی ها و رفتار های کلاس های موجود را بدون نیاز به بازنویسی کد، در کلاس های جدید به کار گیرند که منجر به قابلیت استفاده مجدد از کد می شود.

در یک سناریوی وراثت چندسطحی (A -> B -> C)، اگر متدی در کلاس C بازنویسی (Override) شود، کدام نسخه از متد هنگام فراخوانی روی یک شیء از کلاس C اجرا خواهد شد؟
  1. نسخه متد در کلاس A
  2. نسخه متد در کلاس B
  3. نسخه متد در کلاس C
  4. هیچ کدام

گزینه صحیح: 3

توضیح: در وراثت چندسطحی، اگر متدی در کلاس مشتق شده (C) بازنویسی شود، نسخه بازنویسی شده در همان کلاس (C) اولویت دارد و اجرا می شود.

کدام یک از مثال های زیر، کاربرد وراثت تک سطحی در طراحی نرم افزار را نشان می دهد؟
  1. یک کلاس 'Shape' که از کلاس های 'Circle' و 'Square' ارث می برد.
  2. یک کلاس 'Animal' که کلاس های 'Dog' و 'Cat' از آن ارث می برند.
  3. یک کلاس 'Vehicle' که 'Car' از آن ارث می برد و 'Car' از 'Engine' ارث می برد.
  4. یک کلاس 'User' که 'AdminUser' از آن ارث می برد و 'GuestUser' نیز از آن ارث می برد.

گزینه صحیح: 4

توضیح: گزینه ۴ نشان دهنده وراثت تک سطحی است که در آن 'AdminUser' و 'GuestUser' هر دو از یک کلاس پایه ('User') ارث می برند، اما هیچ کدام از دیگری ارث نمی برند و زنجیره وراثتی در یک سطح باقی می ماند.

منبع آموزشی این مطلب

این مطلب برگرفته از محصول آموزشی «برنامه‌نویسی شیءگرا: راهنمای گام به گام برای درک عمیق مفاهیم OOP، الگوهای طراحی، معماری نرم‌افزار و اصول طراحی تمیز» است

برای مشاهده توضیحات کامل، جزئیات دوره و دریافت محصول، روی دکمه زیر کلیک کنید.

اطلاعات بیشتر و دریافت محصول