Java Tips

طراحی و توسعه نرم افزار با زبان Java

Java Tips

طراحی و توسعه نرم افزار با زبان Java

Java Tips

اشتراک دانش و تجربه و یادگیری مستمر

وبلاگ مهندس نرم افزار

طبقه بندی موضوعی
بایگانی
نویسندگان

چند ریختی(Polymorphism)

جمعه, ۲۰ اسفند ۱۳۹۵، ۰۸:۲۷ ب.ظ

چند ریختی قابلیتی است که یک شیء می تواند فرم های مختلفی  داشته باشد. به عبارت دیگر اشیاء می توانند در موقعیت های مختلف رفتار های متفاوتی بروز دهند.

تنها راه دسترسی به یک شیء فقط ار طریق یک Reference Variable(متغیر از نوع ارجاع) می باشد.Reference Variable فقط از یک نوع(Type) می تواند باشد. نوع آن یکبار اعلان می شود و بعد از آن دیگر قابل تغییر نیست.

یک نمونه پر کاربرد از چند ریختی زمانی رخ می دهد که یک ارجاع به کلاس پایه استفاده می شود برای اشاره به شیء کلاس فرزند. همه اشیاء در جاوا چند ریختی هستند زیرا از کلاس Object ارث بری می کنند.

مثال زیر را در نظر بگیرید :

کلاس Deer بصورت چند ریختی می باشد زیرا ارث بری چندگانه دارد. در این باره موارد زیر صدق می کند :

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

وقتی که ما یک متغیر از نوع ارجاع(Reference Variable) از کلاس Deer اجاد می کنیم موارد زیر صادق می باشد:

همه Reference Variable های بالا(d,a,v,o), به یک شیء از کلاس Deer در heap اشاره می کنند.

نتیجه گیری :

              * یک Reference Variable می تواند به یک شیء دیگر انتساب داده شود(به شرط اینکه final نباشد).

              * نوع Reference Type تعیین می کند که چه متد هایی با  یک شیء قابل فراخوانی(Invoke) هستند.

              * یک Reference variable می تواند اشاره کند به یک شیء  دیگر به شرط اینکه همنوع خودش باشد.

              * یک Reference variable می تواند اعلان شود مانند نوع کلاس یا یک نوع Interface. 

موافقین ۰ مخالفین ۰ ۹۵/۱۲/۲۰
مهندس نرم افزار

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

نظر دادن تنها برای اعضای بیان ممکن است.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.