. . . . . . . . Mohammad Mohsen Mavaddat . . . . . . .

برنامه نویسی شی گرا - قسمت چهارم

شنبه 9 مرداد 1389-10:58 ق.ظ

چند شکلی بودن - Polymorphism :

مفهوم چند شکلی یعنی این که یک شی یا موجودیت در شرایط مختلف رفتار متفاوت و مناسب داشته باشد .مثلا اگر در یک حلقه تابع toString را روی آرایه ای از اشیاء ( که نوعا متفاوت، اما همه فرزندان Object هستند ) صدا بزنیم، هر کدام به طریق مناسب خود را معرفی می کنند .

  • چند شکلی، امکان برنامه نویسی آینده نگر را فراهم می کند Future proof
  • متغیر چند شکلی متغیری است که می تواند انواع مختلف داده را بگیرد مثلا [] object objArray = object
  • با استفاده از چندشکلی هرچند تنها روال های پدر قابل مشاهده است اما در صورت وجود، روال های متناظر فرزند ( نوع حقیقی True-Type ) صدا زده می شود
در بالا چند شکلی خالص آورده شد اما به طور کلی می توان چند شکلی را به سه نوع تقسیم کرد :
  1. خالص (جایگذاری)
  2. پارامتری
  3. سربارگذاری
مزایای چند شکلی :
  1. کاهش کد نویسی
  2. درک بهتر کد
  3. امکان توسعه آسان

[Queue[T
و
([T] Add (a[T],b[T]
نمونه های دیگری از کاربرد چند شکلی هستند

  • سعی کنید روابط را از پیاده سازی جدا کرده و بجز کلاس های برگ، سایر کلاس ها را مجرد abstract تعریف کنید
  • هیچ گاه وراثت صحیح را قربانی چند شکلی نکنید و روال ها را بی جهت در سلسله مراتب ارث بری بالا نبرید
  • فراموش نکنید که چند شکلی، سرعت اجرا را تا حدودی پایین می آورد

ادامه مطالب به زودی  . . . .


نوع مطلب : مهندسی نرم افزار 










ساخت وبلاگ در میهن بلاگ

شبکه اجتماعی فارسی کلوب | اخبار کامپیوتر، فناوری اطلاعات و سلامتی مجله علم و فن | ساخت وبلاگ صوتی صدالاگ | سوال و جواب و پاسخ | رسانه فروردین، تبلیغات اینترنتی، رپرتاژ، بنر، سئو