دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۴
  • مهر

جلسه ۲۲ : پلی مورفیسم در جاوا

  • دسته‌بندی‌ها :
جلسه ۲۲ : پلی مورفیسم در جاوا
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرنو کاربرانی که دوره کامل آموزش برنامه نویسی جاوا را دنبال می کنند. Polymorphism یکی از توانایی های آبجکت است که در بسیاری از اشکال قرار گیرد. شایع ترین استفاده از پلی مورفیسم در OOP زمانی اتفاق می افتد که یک مرجع کلاس پدر و مادر برای اشاره به یک شیء زیر کلاس استفاده می شود. هر شیء جاوا که می تواند بیش از یک تست IS-A را تصویب کند، در نظر گرفته می شود که چند مورفیسم است. در جاوا، تمام اشیاء جاوا پلی مورفیسم هستند، زیرا هر شیء تست IS-A را برای نوع خود و کلاس Object منتقل می کند. مهم است بدانیم که تنها راه ممکن برای دسترسی به یک شی از طریق یک متغیر مرجع است. برای آشنایی بیشتر با مباحث پلی مورفیسم در جاوا در ادامه ی مباحث این آموزش با ما همراه باشید.

      پلی مورفیسم در جاوا

      در جاوا متغیر مرجع می تواند به هر شیء از هر نوع اعلام شده یا هر زیر نوع آن اعلام شود.

      متغیر مرجع می تواند به عنوان یک نوع کلاس یا رابط اعلام شود.

      مثال:

      مثال : 

      در حال حاضر، کلاس Deer به عنوان پلی مورفیسم در نظر گرفته می شود، زیرا این یک وراثت است. در زیر نمونه های فوق درست است:

      • A Deer IS-A Animal
      • A Deer IS-A Vegetarian
      • A Deer IS-A Deer
      • A Deer IS-A Object

      هنگامی که پارامتر مرجع را به مرجع شیء گوزن اعمال می کنیم، کدهای زیر صحیی هستند:

      مثال : 

      تمام متغیرهای مرجع d، a، v، o به همان شیء Deer در گره اشاره دارند.

      متدهای مجازی

      ما تاکنون در مورد متدoverridden بحث كرديم. در حالي كه زیر كلاس مي تواند يك متد را در کلاس والد خود برشمرد.

      یک متد overridden در اصل در کلاس پدربزرگ پنهان شده است و فراخوانی نشده است.

      متد overridden در صورتی فراخوانی می شود که کلاس child از کلمه کلیدیsuper در متد اصلی استفاده کند.

      مثال:

      مثال : 

      اکنون فرض کنید که کلاس Employee را به صورت زیر تعریف می کنیم :

      مثال : 

      در حال حاضر، برنامه زیر را با دقت مطالعه کنید و سعی کنید خروجی آن را حدس بزنید :

      مثال : 

      نتیجه ی اجرای کد فوق در جاوا بصورت زیر خواهد بود:

      مثال : 

      در اینجا ما دو شیء را ایجاد می کنیم یکی با استفاده از یک مرجع Salary و دیگری با استفاده از مرجع Employee.

      در هنگام فراخوانی () s.mailCheck ، کامپایلر () mailCheck را در کلاس کامپایل در کلاس Salary می بیند.

      سپس کامپایلر () JVM mailCheck را در کلاس Salary در زمان اجرا، فراخوانی می کند.

      وقتی کامپایلر () e.mailCheck  را می بیند، در واقع کامپایلر متد () mailCheck را در کلاس Employee می بیند.

      این رفتارها به عنوان فراخوانی متد مجازی شناخته می شوند. و چنین متدهایی را متد مجازی می نامند.

      کلام آخر

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

      QR:  جلسه ۲۲ : پلی مورفیسم در جاوا
      به اشتراک بگذارید