مشاهده نسخه کامل
: overload کردن متد override
سلام به همه دوستان
یک سوال از خدمتون داشتم آیا میشه یک متد Override شده رو Overload کرد ؟ چرا ؟
ممنون از کمکتون
سلام
بله!
معمولاً خیلی از توابع موجود Overload هایی هم دارند که از تابع اصلی پارامتر کمتر با بیشتری میگیرد.
مثلاً تابعی برای رسم تصویر میتوانید چهار عدد برای مختصات مربع مقصد ترسیم را بگیرید.
یک Overload مناسب و منطقی برای این تابع میتواند فقط دو عدد برای مختصات نقطه ترسیم عکس رابگیرد.
(در واقع این Overload میتواند تابع اصلی اولیه را فراخوانی کند و دو عدد مختصات را که گرفته دو عدد ابعاد را هم با ابعاد تصویر اصلی پر کند.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته نوع خاصی از Overload هم است که یکم تشریح بیشتری دارد و به نام Shadowing یا Shadows شناخته میشود.
Shadows یک Overload است که هم نام و هم نوع و هم پارامتر (هم امضاء) یک یک متد موجود (قابل/غیر قابل Override) است که بجز موارد خیلی خاص پیشنهاد نمیشود و بهتر است انجام نشود. (ولی باز هم قابل انجام است)
موفق باشید.
vBulletin , Copyright ©2000-2024, Jelsoft Enterprises Ltd.