اگه میخوای موارد زیر از جاوارو بدونی جلسه بیست و سوم را دانلود کن:
Polymorphism (چند ریختی)
توضیح و مثال از دنیای واقعی برای درک بهتر مفهوم چندریختی
نحوه ایجاد یک شی از کلاس پدر که در شکل فرزند خود ظاهر میشود
ماجرای هیجان انگیز چندریختی
خصویات و اختیارات شی ای که به روش چندریختی تعریف میشود
پرداختن به نکات چندریختی
تمامی مفاهیم با مثال ساده توضیح داده شده است.
در این جلسه یکی دیگر از مفاهیم شی گرایی جاوا به نام چندریختی (Polymorphism)را قصد داریم بررسی کنیم.گاهی برای تعریف یک مفهوم ،تعریفی پیدا نمیشود!!! یعنی نمیتوانیم تعریف مناسبی را ارائه کنیم!!! به همین خاطر با زدن مثال سعی میکنیم که مفهوم را جا بیندازیم! مثلا به نظر شما کسی هست تعریفی از آب داشته باشه؟!!! شاید یکی بگه اب از H2O تشکیل شده یا مایعی ای که شفافه و... اما همه اینها مثال هست و تعریفی از خود آب نیست!!!! منم در این جلسه بیشتر قصدم اینه که با مثال مفهوم چندریختی را بررسی کنیم چون اگه بخوایم فقط به تعریف و تمجید 😊 بسنده کنیم چیزی یاد نمیگیریم! بریم سراغ اصل مطلب:
نکته مهم در این اموزش:در اینجا برای یادگیری و ساده کردن مفهوم چندریختی تمام تلاشم را کردم و گام به گام که جلو میرید اگر مطلب غیر قابل فهم بود نگران نباشید چون همین جوری که جلوتر میرید مفهوم براتون روشن تر و قابل درک تر میشود.
فرآیند نمایش یک شکل در شکل های متعدد را چندریختی میگوییم.
چندریختی یا (Polymorphism) پلی مورفیسم از دو کلمه یونانی مشتق شده است،کلمه "Poly" به معنای بسیار و کلمه "morphs" به معنای اشکال هستش. و در کل پلی مورفیسم یا چندریختی به معنی اشکال مختلف است.
از خود کلمه چندریختی هم میشه دریافت که چند ریخت!!!! مثل یک مرد هزار چهره که در هر مکان یک ریختی از چهره های خودش رو نشان میده 😊 صرفا جهت درک بهتر بود 😊
دلیل توضیح تئوری زیاد من این هست که قبل از رفتن به سراغ مثال یک امادگی ذهنی داشته باشیم.
چندریختی یعنی یک شی میتواند خود را به شکل های گوناگون در اورد.وقتی یک شی علاوه بر نقش خودش ،نقش های گوناگون را میتواند بازی کند!
مثال از دنیای واقعی............
وقتی شما سر کلاس درس برنامه نویسی پیشرفته هستید شما در شکل دانشجو ظاهر شده اید.
وقتی به سوپرمارکت برای خرید شکلات تلخ مراجعه میکنید شما در شکل یک مشتری ظاهر شده اید.
وقتی در خانه در کنار پدر و مادر خود هستید شما به شکل یک فرزند ظاهر شده اید.
در اینجا یک شخص در اشکال مختلف ظاهر شده است.چندریختی هم این مفهوم را دنبال میکند وقتی یک شی در اشکال مختلف ظاهر میشود به آن چندریختی یا پلی مورفیسم میگوییم.
پس در چندریختی یک شی میتواند نقش و رفتار چندین شی دیگری را بازی کند.
مفاهیم جلسه قبل Overriding در چندریختی کاربرد فراوان دارد.در ادامه متوجه خواهیم شد.
در دوره پیشرفته برنامه نویسی جاوا به صورت ویدئویی به موضوعPolymorphism(چند ریختی) در جاواپرداخته ایم. |
متداول ترین استفاده از چندریختی در برنامه نویسی شی گرایی جاوا هنگامی است که شی کلاس پدر به شی کلاس فرزند اشاره دارد!!!! یعنی ما هنگام ساختن شی از کلاس پدر کاری میکنیم که هنگامی که شی پدر ایجاد میشود، شی پدر به فرزند خود اشاره داشته باشد به معنی ساده تر شی پدر همان شی فرزند است یعنی شی پدر در شکل فرزند ظاهر شده است.میدونم مفهوم هنوز واضع نیست نگران نباشید حلش میکنیم 😊
در چندریختی شی کلاس پدر در نقش و شکل فرزندان خود ظاهر میشود.یعنی شی کلاس پدر میتواند به شکل های گوناگون فرزندان خود ظاهر شود.مثال زیر را ببینید:
فرض کنید یک کلاس به نام شخص (Person) داریم و کلاس هایی به نام کارمند (Employee)،مشتری (Consumer)،زن (woman) کلاس شخص (Person) را به ارث برده اند.یعنی کلاس شخص (person) پدر کلاس های کارمند (Employee)،مشتری (Consumer)،زن (woman) و کلاس های کارمند (Employee)،مشتری (Consumer)،زن (woman) فرزند کلاس شخص (Person) میباشند.
خب در چندریختی باید به گونه ای از کلاس پدر یعنی شخص (Person) شی ایجاد کنیم که مثلا یک شی بتواند به شکل کارمند (Employee)، شی دیگر به شکل مشتری (Consumer) و شی دیگری به شکل زن (woman) ظاهر شود.یعنی شی از نوع پدر باشد اما نقش و شکل فرزند خود را داشته و بازی کند.خب چطور چنین شی ایجاد کنیم که نوعش از نوع پدر باشد اما نقش یکی از فرزندان را بازی کند؟!
....ادامه این جلسه آموزشی را میتوانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)
لینک دانلود
بستن *نام و نام خانوادگی * پست الکترونیک * متن پیام |
دوره های آموزشی برنامه نویسی
انجام پروژه های برنامه نویسی
تدریس خصوصی برنامه نویسی
بیش از 7 سال از فعالیت جاواپرو میگذرد
جاواپرو دارای مجوز نشر دیجیتال از وزارت فرهنگ و ارشاد اسلامی است
جهت ارتباط مستقیم با جاواپرو در واتساپ و تلگرام :
09301904690