وب دیتا
صفحه اصلی / آموزش برنامه نویسی / آموزش JAVA / مقاله بررسی وراثت در زبان جاوا

مقاله بررسی وراثت در زبان جاوا

وراثت

وراثت برای اشتراک گذاری مثال هایی از متغیر ها و متد های یک کلاس با کلاس های دیگر به کار میرود که به معنای ارث رسیدن ویژگی ها و رفتار های یک کلاس به کلاس های دیگر میباشد. در بسیاری از مواقع تعدادی از اشیا ممکن است که مشخصات مشترکی داشته باشند.پیش از این مقاله ما وراثت را در سی شارپ نیز برسی کردیم.

به عنوان مثال ماشین A مشخصاتش را (شماره ثبت , سرعت کنونی , تعداد دنده و تعداد سیلندر) با ماشین B و ماشین C به اشتراک میگذارد. و هردو ماشین B و C چند ویژگی بیشتری دارند : ماشین B دوربین عقب و ماشین C چراغ های مه شکن جلو دارد. این ویژگی های بیشتر باع ث میشود مه ماشین های A و B و C با یکدیگر متفاوت باشند. در این زمینه ماشین A تبدیل به کلاس ارشد ماشین های B و میشود و ماشین های B و C زیر مجموعه های ماشین A می باشند.

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

خروجی

۳۰

۱۰

در مثال بالا Math2 , Math1 را گسترش میدهد. از این رو متغیر های نتیجه در Math2 استفاده میشوند بدون آنکه در آن تعریف شده باشند و متد Add() در Math1 برای فرخوانی اشیای کلاس Math2 استفاده میشود. این اتفاق می افتد زیرا تعریف Math1 با Math2 با استفاده از کلمات کلیدی گسترش یکپارچه میشوند.

انواع وراثت

سطح انفرادی

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

وراثت چندین سطحی

وراثت

میتواند ‘n’ تعداد سطح در وراثت چند سطحی وجود داشته باشد. از این رو کلاس پایین ترین سطح تعریف کننده ی تمام کلاس های بالایش است. برنامه ی نوشته شده ی زیر نشان دهنده ی یک وراثت چند سطحی میباشد.

کد

خروجی

You are in method1

You are in method2

You are in method3

سلسله مراتبی

هنگامی که تعداد دو یا بیشتری کلاس از کلاس ارشد مشتق شوند , وراثت سلسله مراتبی نامیده میشود.

وراثت

کد

خروجی

You are in method1
You are in method2
You are in method1
You are in method3

چندگانه (توسط جاوا پشتیبانی نمیشود)

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

وراثت

یادداشت: وراثت چندگانه به صورت نیمه با استفاده از رابط کاربری بدست می آید.

رابط کاربری

یک رابط کاربری ظرفی از متد های abstract میباشد. این به جاوا اجازه میدهد تا وراثت های چندگانه را اجرا کند زیرا یک کلاس قادر به داشتن بیش از یک کلاس ارشد در جاوا نمیباشد اما میتواند رابط های کاربری زیادی را اجرا کند. متد ها تنها در روابط کاربری مشخص میشوند اما تعریف نمیشوند. کلاس هایی که یک رابط کاربری را اجرا میکنند باید متد هایی که در رابط کاربری مشخص شده اند را تعریف کنید. اصلاح دسترسی و نوع بازگشتی باید مشابه چیزی که در زابط کاربری مشخص کرده اند باشند.متد های Private و Static نمیتوانند در رابط کاربری مشخص شوند.

کد

خروجی

IntrMethod
IntrMethod1
Intr1Method
Intr2Method

چگونه مشخصه ی دسترسی بر وراثت تاثیر میگذارد

در جاوا ۴ مشخصه ی دسترسی وجود دارد.

Public : هرگاه یکی از اعضای کلاس مشخصه ی public تعریف شود, میتواند توسط هر کدی به آن دسترسی پیدا کرد.

Protected: protected تنها مورد مناسب برای استفاده در وراثت است. هرگاه یکی از اعضای کلاس protected تعریف شود تنها میتوان توسط همان کلاس یا کلاس های زیر مجموعه به آن دسترسی پیدا کرد.

Private : اعضای کلاسی که توسط مشخصه ی private تعریف شوند تنها میتوانند توسط همان کلاس مورد دسترسی قرار گیرند.

Default : زمانی که شما مشخصه ی دسترسی خاصی برای اعضا تعریف نمیکنید , جاوا به طور اتوماتیک مشخصه ی default را برمیگزیند. و اعضایی که توسط default تعریف شده اند میتوانند توسط هر کد دیگری در بسته مورد دسترسی باشند. اما نمیتوانند خارج از بسته مورد دسترسی قرار گیرند.

محدود کردن وراثت

امیدوارم شما آموخته باشید که چگونه انواع مختلف وراثت را در جاوا اجرا کنید. حال اگر بخواهید که هیچ کلاس دیگری امکان گسترش کلاس موردنظرتان را نداشته باشد باید چه کنید , که به معنای محدود کردن وراثت میباشد.

تنها کافیست که از کلمه ی کلیدی “final” مانند زیر استفاده نمایید:

حال “myclass” توسط هیچ کلاس دیگری قابل گسترش نیست.



رمز فایل : www.mspsoft.ir , www.mspsoft.com
کانال ام اس پی سافت

پاسخ دهید

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



دوره های آنلاین ام اس پی سافت

آموزش طراحی فروشگاه اینترنتی

آموزش طراحی فروشگاه اینترنتی

طراحی سیستم مدیریت مشتریان

طراحی سیستم مدیریت مشتریان

دوره طراحی وب سایت پورتال خبری

دوره طراحی وب سایت پورتال خبری

دوره طراحی حسابداری فروشگاه

دوره طراحی حسابداری فروشگاه
تخفیفات نوروزی ام اس پی سافت

5 کد تخفیف 100 درصدی برای کاربران شبکه های اجتماعی | آدرس شبکه های اجتماعی ما : @mspsoft

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