تعداد بازدید:

انواع ارث بری کلاس ها در جاوا (inheritance)

برای دانلود ویدئو روی دکمه دانلود کلیک کنید

در این درس قصد داریم تا در مورد ارث بری و انواع ارث بری در جاوا و همچنین نحوه ساخت instance از روی کلاس ها صحبت کنیم. خوب ما انواع مختلفی از متغیر ها رو بررسی کردیم دیدیم که انواع مختلفی از متغیر ها نظیر float , int , double , … وجود داره . ما می تونیم متغیری از نوع یک کلاس خاص هم تعریف کنیم(یعنی نوع داده متغیر کلاس باشه). به مثال زیر توجه کنید:

می بینید که ما کلاسی در جایی تعریف کردیم که نام اون کلاس B بوده . حالا نوع داده B هم در پروژه ما اضافه میشه که یعنی ما یک متغیر از نوع B می تونیم بسازیم که در اون هم باید مقداری قرار بگیره که از نوع کلاس B باشه که همون instance از کلاس B هست.

inhertance یا ارث بری در جاوا

اگر ویژگی کلاس جدیدی که می خواهیم تعریف کنیم در کلاسی که از قبل تعریف کرده باشیم وجود داشته باشه به جای تعریف یک کلاس جدید می تونیم از کلاس قبل استفاده کنیم. به این مبحث ارث بری یا inheritance در جاوا می گیم.در این مفهوم به کلاسی که قبلا وجود داشته باشه کلاس پدر و یا super class می گیم و به کلاس هایی که مشتق شده اند کلاس فرزند یا subclass میگیم.

برای ساخت یک کلاس از روی کلاس دیگر از کلمه کلیدی extends استفاده می کنیم.

انواع ارث بری در جاوا

ما در جاوا سه نوع ارث بری داریم:

  • single inheritance
  • multilevel inheritance
  • hierarchical inheritance

ارث بری یکتا (Single inheritance)

نوع ساده ارث بری که تشکیل شده از یک پدر و یک فرزند که در مثال زیر کلاس A پدر و B فرزند می باشد.(تنها شامل دو کلاس میشه)

کلاس A :

کلاس B :

همون طور که می بینید کلاس B از کلاس A ارث برده شده و متغیر data که مشاهده می فرمایید در کلاس A وجود داره.

نکته : ابتدا data در کلاس اصلی یعنی کلاس B به دنبالش گشته میشه و بعد اگر موجود نبود به کلاس A میره تا data رو پیدا کنه. پس یعنی در کلاس فرزند میشه مقادیر رو دوباره تعریف کرد.

ارث بری چند سطحی (multilevele inheritance)

نوع ساده یا ارث بری یکتا رو میشه ارث بری یک سطحی دونست . خوب اگر تا چند سطح این ارث بری رو ادامه بدیم میشه ارث بری چند سطحی یا multilevel inheritance . به طور مثال ما یک کلاس داریم با نام A . کلاس دیگری داریم با نام B که از کلاس A ارث برده شده. و کلاس دیگری داریم با نام C که از کلاس B ارث برده شده .

کلاس A :

کلاس B :

کلاس C :

ما در main کلاس C یک متغیر با نام obj از نوع کلاس C ساختیم . در اون یک شی از کلاس C قرار دادیم . از طریق اون متد displayData رو فراخوانی کردیم که در این متد باید متغیر data چاپ بشه.

ابتدا در کلاس جاری به دنبال این متغیر گشته میشه اگر وجود نداشت به کلاس پدر یعنی B میره و اگر وجود نداشت به کلاس پدربزرگ یعنی A میره و اون رو چاپ میکنه.

ارث بری سلسله مراتبی (hierarchical inheritance)

این نوع ارث بریم خاصیت سلسله مراتبی رو میشه مشاهده کرد. یعنی از یک کلاس چندین کلاس ارث برده بشه. مثلا از کلاس A کلاس B و کلاس C ارث برده بشه.

کلاس A :

کلاس B :

کلاس C :

خروجی به شکل زیر خواهد بود:

data in A class is: 10
data in B class is: 10
data in C class is: 10

اشتراک گذاری :

مدرس دوره های جاوا اندروید و پایتون به صورت حضوری و مجازی

2 دیدگاه برای انواع ارث بری کلاس ها در جاوا (inheritance)

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *