PDA

نسخه کامل مشاهده نسخه کامل : overload کردن متد override



CHAPTER
15-12-2009, 17:08
سلام به همه دوستان
یک سوال از خدمتون داشتم آیا میشه یک متد Override شده رو Overload کرد ؟ چرا ؟
ممنون از کمکتون

_H2_
16-12-2009, 14:21
سلام
بله!

معمولاً خیلی از توابع موجود Overload هایی هم دارند که از تابع اصلی پارامتر کمتر با بیشتری میگیرد.

مثلاً تابعی برای رسم تصویر میتوانید چهار عدد برای مختصات مربع مقصد ترسیم را بگیرید.
یک Overload مناسب و منطقی برای این تابع میتواند فقط دو عدد برای مختصات نقطه ترسیم عکس رابگیرد.
(در واقع این Overload میتواند تابع اصلی اولیه را فراخوانی کند و دو عدد مختصات را که گرفته دو عدد ابعاد را هم با ابعاد تصویر اصلی پر کند.


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

البته نوع خاصی از Overload هم است که یکم تشریح بیشتری دارد و به نام Shadowing یا Shadows شناخته میشود.

Shadows یک Overload است که هم نام و هم نوع و هم پارامتر (هم امضاء) یک یک متد موجود (قابل/غیر قابل Override) است که بجز موارد خیلی خاص پیشنهاد نمیشود و بهتر است انجام نشود. (ولی باز هم قابل انجام است)

موفق باشید.