تفاوت بین ارث بری (inheritance) و ترکیب (composition) در شیء گرایی C++ چیست؟
توضیحات:
ارث بری (inheritance) و ترکیب (composition) دو روش مختلف برای ارتباط دادن کلاسها در شیءگرایی C++ هستند. این دو روش دارای تفاوتهای مهمی هستند:
ارث بری (Inheritance):
- در ارث بری، یک کلاس جدید (کلاس مشتق) از یک کلاس موجود (کلاس پایه) ایجاد میشود و از ویژگیها و عملکردهای کلاس پایه به عنوان پایه برای کلاس مشتق استفاده میشود.
- کلاس مشتق میتواند ویژگیها و عملکردهای جدید را اضافه کند، و یا ویژگیها و عملکردهای موجود را تغییر دهد.
- ارث بری میتواند از ویژگیهای پلیمورفیسم (polymorphism) نیز استفاده کند.
- ارث بری به صورت “is-a” استفاده میشود، به این معنی که کلاس مشتق یک نوع از کلاس پایه است.
ترکیب (Composition):
- در ترکیب، یک کلاس جدید از یک یا چند کلاس دیگر ایجاد میشود و از آنها به عنوان اعضا (متغیرهای عضو) استفاده میشود.
- کلاس جدید ترکیبشده میتواند از ویژگیها و عملکردهای کلاسهای دیگر استفاده کند، اما ارث بری نیست و تنها از آنها به عنوان اعضا استفاده میکند.
- ترکیب به صورت “has-a” استفاده میشود، به این معنی که کلاس جدید یک کلاس دیگر را دارد.
به طور کلی، ارث بری برای ایجاد ارتباطات “is-a” بین کلاسها استفاده میشود، در حالی که ترکیب برای ایجاد ارتباطات “has-a” بین کلاسها استفاده میشود. انتخاب بین ارث بری و ترکیب بستگی به ساختار و نیازهای خاص برنامه دارد.
موفق باشید
A.J
پست های مرتبط:
فروشگاه سورسا:
سورسا ، یک خانواده!
شما میتوانید از سورس های آماده به راحتی و با کپی پیست در پروژه خود استفاده بفرمایید
بله! سورسا به عنوان اولین و برترین مرجع سورس کد های آماده، تمامی سورس کد ها در زبان های مختلف را به صورت رایگان در اختیار شما قرار میدهد.
اگر سورس مد نظر شما تفاوتی با سورس فعلی دارد یا اینکه درخواست سورس دیگری را دارید میتوانید با کارشناسان سورسا در ارتباط باشید.
سورسا به عنوان مرجع سورس در تلاش است سورس کد ها و آموزش های تمامی زبان های برنامه نویسی مانند GO C++ Python C PHP SQL JS و… را تحت پوشش قرار داد