وراثت در سی شارپ
1399-07-01

مطلبی که اهمیت وراثت در سی شارپ را به شما خواهد گفت

یادگیری مفهوم وراثت

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

شی چیست:

در این بین یکی از دوستان گفت: قبل از بحث روی این موضوع کی میدونه کلا شی چیه؟؟؟ بعد از کمی مکث که جوابی نگرفت گفت: خب خودم توضیح میدم. شی گونه ای است که دارای هویته و توانایی ثبت حالت و رفتار خودش رو داره که یکی در بینمون گفت: ای بابا یعنی چی آخه؟؟؟ دوستمون دوباره ادامه داد: گفتم دارای هویته و این یک ویژگی منحصر به فرد برای یک شی محسوب میشه که اونو از بقیه اشیاء متمایز میکنه. مثلا چکش؛ آیا چیزی باعث میشه که چکش از اشیا دیگه متمایز بشه؟ گفت: آره خب خود چکش.
دوستمون ادامه داد کاملا درسته و گفتم دارای رفتار هست. حالا چه رفتاری از چکش به ذهنت اومد؟؟؟ گفت: کوبیدن یه میخ روی دیوار یا یه تیکه چوب. دقیقا درسته! پس در حقیقت این رفتار چکش هست که باعث میشه به اون فکر کنید و از اون استفاده کنید.

آموزش سی شارپ

مفهوم وراثت در سی شارپ:

همین طور که همگی داشتیم به صحبت های زده شده فکر می کردیم یکی از دوستان گفت: منظور از ارث بری یعنی این که یک کلاس میتونه تمام ویژگی های اون کلاس رو به ارث ببره؛ در واقع کلاس والد و فرزندی در میونه. کلاس والد، کلاسیه که خصوصیت ها و متدهای اون، توسط کلاس های دیگه به ارث برده میشه که بهش کلاس پایه هم میگن. به کلاسی که خصوصیت ها و متدهای کلاس پایه رو به ارث میبره معروف هست به کلاس فرزند یا مشتق شده.

تعریف کلاس:

در همین حین یکی از دوستان گفت: کسی میتونه یه تعریف از کلاس داشته باشه؟؟ در جواب دوستم گفتم: مجموعه ای از فیلدها و رفتارها، یک کلاس رو تشکیل میده که رفتارهاشون شبیه به هم هست اما وظایفشون متفاوته. برای اجرا کردن کلاس ها باید از کلاس نمونه بسازیم که بهش میگن نمونه های شی چون یک کلاس هیچ وقت به خودی خود اجرا نمیشه.

مثال:

همگی مفهوم وراثت رو خوب یاد گرفته بودیم که همون دوستی که موضوع رو مطرح کرده بود گفت: من هنوز مفهوم وراثت در سی شارپ برام قابل فهم نیست. همون موقع یکی از دوستان گفت: فرض کن می خوایم برای باغ وحش یک کد ساده بنویسیم. هر باغ وحشی حیواناتی داره که این حیوانات یکسری ویژگی های مشترک و غیر مشترک دارن.
حالا کد ما شامل چهار کلاسه:

  1. کلاس Animal
  2. کلاس Bird
  3. کلاس Fish
  4. کلاس Zoo که همون main برنامه محسوب میشه.

کلاس های Fish و Bird شامل متدهایی هستند به نام های swim(شنا) و fly(پرواز) و کلاس Animal شامل فیلدهای سن، جنسیت و وزنه هست. دو متد eat (خوردن) و sleep (خوابیدن) هم در این کلاس وجود داره . دو ویژگی خوردن و خوابیدن که تو کلاس Animal نوشتیم در کلاس های Fish و Bird هم وجود داره. ما میتونیم این دو ویژگی رو تو هر کدوم از کلاس های Fish و Bird بنویسیم اما اگر بخوایم یک حیوان دیگه بسازیم باید این دو ویژگی را نیز در آن به کار ببریم. پس این دو صفت رو در کلاس Animal مینویسیم که از دوباره کاری نوشتن این دو ویژگی جلوگیری شه. در واقع، راه حل این موضوع استفاده از ارث بریست و همون طور که از اسمش معلومه یعنی به ارث بردن تمام ویژگی های یک کلاس به کلاس دیگه.

در واقع ارث بری به هدف استفاده مجدد و توسعه کدها برای بالار فتن سرعت پروژه استفاده میشه. حالا متوجه شدی؟؟ گفت: بله متوجه شدم راستش من فکر میکردم یادگیریش خیلی سخت باشه. آموزش مربوط به این موضوع رو از این دید نگاه نکردم برای همین گفتم از شماها بپرسم تا ببینم چقدر یادگیریش نیازه و الان به اهمیت استفاده از اون پی بردم.

کلام آخر:

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

مقالات مرتبط

pug (پاگ) چیست و از آن چه میدانید؟

pug (پاگ) چیست
مرضیه فتاحی
10

حتما اسم پاگ را شنیده اید اما در دنیای برنامه نویسی چه میکند؟ با ما همراه شوید تا هر آنچه که درباره pug چیست را میخواهید، برایتان ارائه دهیم. پیشنهاد میکنم این مطلب را از دست ندهید.

مطالعه مقاله

چگونه یک طراح وب موفق شوم؟

روش هایی که شما را طراح وب حرفه ای می کند!
فاطمه گلشنی پایدار
10

در این مطلب یاد خواهید گرفت که راه و رسم طراح وب حرفه ای چگونه می باشد.

مطالعه مقاله

سیستم مدیریت پایگاه داده یا DBMS چیست

انواع سیستم های مدیریت پایگاه داده
زهرا چگینی
10

با خواندن مطلب سیستم مدیریت پایگاه داده، می توانید با وظایف و نحوه عملکرد آنها آشنا شوید و بدانید که استفاده کردن از DBMS ها چه مزایا و معایبی دارد.

مطالعه مقاله

saas چیست؟ سرویس مبتنی بر فضای ابری

Software as a Service چه کاربردی دارد؟
زهرا چگینی
10

شما با سرویس مبتنی بر فضای ابری آشنا هستید؟ مطلب امروز ما در مورد یکی از این سرویس ها به نام saas می باشد، ما بررسی کرده ایم که saas چیست و چطور می توانید از آن استفاده کنید.

مطالعه مقاله

14 مورد از پرفروش ترین کتاب های پایتون که باید بخوانید

14 کتاب برتر آموزش پایتون از مبتدی تا حرفه ای
رکسانا طالبی
10

14 کتاب برتر آموزش زبان برنامه نویسی پایتون از مبتدی تا حرفه ای

مطالعه مقاله

قدرت زبان پایتون در چیست؟

قدرت زبان پایتون
زهرا چگینی
10

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

مطالعه مقاله