تفاوت بین ارث بری عمومی و ارث بری محافظه شده در C++
توضیحات:
در زبان برنامهنویسی C++، ارث بری عمومی (public inheritance) و ارث بری محافظه شده (protected inheritance) دو نوع ارث بری هستند که تفاوتهای مهمی با یکدیگر دارند. در ادامه توضیحاتی درباره این دو نوع ارث بری ارائه شده است:
1. ارث بری عمومی (public inheritance):
در ارث بری عمومی، تمام اعضای عمومی (public members) کلاس پایه (base class) به عنوان اعضای عمومی در کلاس مشتق شده (derived class) به ارث برده میشوند. به عبارت دیگر، توابع و متغیرهای عمومی کلاس پایه به صورت عمومی در کلاس مشتق شده دسترسیپذیر خواهند بود. این نوع ارث بری بیانگر یک ارتباط “is-a” بین کلاسها است، به این معنی که کلاس مشتق شده یک نوع از کلاس پایه است.
2. ارث بری محافظه شده (protected inheritance):
در ارث بری محافظه شده، تمام اعضای عمومی و محافظه شده (protected members) کلاس پایه به عنوان اعضای محافظه شده در کلاس مشتق شده به ارث برده میشوند. اعضای عمومی کلاس پایه به عنوان محافظه شده در کلاس مشتق شده دسترسی ندارند. این نوع ارث بری بیانگر یک ارتباط “is-implemented-in-terms-of” بین کلاسها است، به این معنی که کلاس مشتق شده از کلاس پایه برای پیادهسازی یک عملکرد استفاده میکند.
به طور کلی، ارث بری عمومی بیانگر یک ارتباط “is-a” و ارث بری محافظه شده بیانگر یک ارتباط “has-a” است. انتخاب بین این دو نوع ارث بری بستگی به ساختار و نیازهای برنامه شما دارد و باید با دقت انجام شود.
موفق باشید
A.J