آموزش پاسکال شی‌گرا

وراثت در پاسکال شی‌گرا

وراثت در پاسکال شی‌گرا

یکی از مهم ترین قابلیت های برنامه نویسی شی‌گرا وراثت است
در حقیقت با استفاده از وارثت میتوانید کلاس ها را به آسانی گسترش دهید

نکـــــته
در برنامه نویسی شی گرا وارثت به این مفهوم است
که شما میتوانید از یک کلاس موجود استفاده کرده
قابلیت هایی را به ان اضافه کنید و کلاس جدیدی را به وجود آورید

توجه داشته باشید که کلاس منشعب شده
نسل (descendent) و به کلاسی که کلاس دیگری از آن منشعب شده است
کلاس پایه (base class) یا جد (ancestor) میگویند

نکـــــته
یک کلاس به طور مستقیم تنها یک جد میتواند داشته باشد
اما میتواند شامل نسل های زیادی به طور مستقیم باشد

فکر میکنم موضوع وراثت بسیار ساده و روشن است
اگر موضوع را درک نکرده اید بهتر است به این شکل به وارثت نگاه کنید
که هر کسی تنها میتواند یک پدر داشته باشد اما میتواند فرزندان متعددی داشته باشد
هم چنین هر فرزند خصوصیاتی را از پدر خود به ارث برده و خصوصیات جدیدی نیز به آن ها می افزاید

شاید این پرسش به ذهن شما خطور کرده باشد که وراثت در برنامه نویسی شی‌گرا چه کاربردی شاید دارد؟

پاسخ این است که وراثت به طور قابل ملاحظه‌ای به شما امکان استفاده مجدد از کدهای نوشته شده را میدهد
به این دلیل که برای ایجاد یک نسل جدید نیازی به نوشتن مجدد کد مربوط به جد نخواهد داشت
برای مثال میتوانید از کلاس TCar که در بخش قبلی به وجود آورده‌ایم برای ایجاد یک کلاس جدید استفاده کنید

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

نکـــــته
زمانی که شما یک کلاس را از کلاس دیگری منشعب میکنید
کلاس جدید تمامی قابلیت های کلاس پایه را به ارث برده و هم چنین شما میتوانید
قابلیت های جدیدی را به آن اضافه کنید
شما میتوانید فیلدهای و متدهای جدیدی را به کلاس جدید خود اضافه کنید
اما نمیتواندی مواردی را که از کلاس پایه به ارث برده اید حذف کنید

اگر به تعریف کلاس TPekan نگاهی بیندازید
متوجه خواهید شد که مواردی جدیدی ۀه ان افزوده شده است

امتیاز به این مطلب

1 Star2 Stars3 Stars4 Stars5 Stars

(89 rating, 18 votes)

لینک کوتاه Qrcode


روی لینک کوتاه کلیک کنید

https://wikidelphi.com/zbwkv/
برچسب ها
نمایش بیشتر

دیدگاهتان را بنویسید

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

Adblock رو غیر فعال کنید

بخشی از درآمد سایت با تبلیغات تامین می شود لطفا با غیر فعال کردن ad blocker از ما حمایت کنید