سربارگذاری

آموزش متد overloading (سربارگذاری) در سی شارپ

اساطیر زبان

بسیاری از زبانهای برنامه نویسی از تکنیکی بنام پارامترهای پیش فرض / اختیاری پشتیبانی می کنند. این تکنیک برنامه نویس را قادر می سازد با دادن یک مقدار پیش فرض به یک یا چند پارامتر، آنها را به پارامترهای اختیاری تبدیل کند. این کار؛ خصوصاً هنگام افزودن قابلیت اضافی به کدهای موجود بسیار است.

به عنوان مثال، ممکن است بخواهید عملکردی را به یک تابع موجود اضافه کنید، که نیاز دارد یک یا چند پارامتر به آن اضافه شود. با این کار، کد موجود را که این تابع را فراخوانی می کند؛ شکسته اید، زیرا آنها اکنون مقدار مورد نیاز پارامترها را عبور نمی دهند. برای انجام این کار ، می توانید پارامترهای جدید اضافه شده را به صورت اختیاری تعریف کنید و به آنها یک مقدار پیش فرض بدهید که مطابق با نحوه عملکرد کد قبل از اضافه کردن پارامترها می باشد.

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

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


 

پارامترهای پیش فرض در سی شارپ نسخه ۴٫۰ معرفی شده است ، اما تا آن زمان ، رمزگذارهای سی شارپ از تکنیک متفاوتی استفاده کرده اند، که اساساً همین کار را انجام می دهد و متد overloading نامیده می شود. این متد به برنامه نویس اجازه می دهد تا چندین متد با یک نام تعریف کند، در حالی که مجموعه متفاوتی از پارامترها را اتخاذ کند. هنگامی که از کلاس های چارچوب دات نت استفاده می کنید، به زودی متوجه خواهید شد که متد overloading در همه جا استفاده می شود. مثال خوبی از این روش Substring() کلاس String است. که مانند زیر یک overload اضافه دارد:

string Substring (int startIndex)

string Substring (int startIndex, int length)

می توانید آن را با یک یا دو پارامتر فراخوانی کنید. اگر فقط آن را با یک پارامتر فراخوانی کنید، فرض می شود که طول پارامتر، بقیه رشته باشد و در هر زمان که بخواهیم قسمت آخر یک رشته را بدست آوریم ، در وقت خود صرفه جویی می کنیم.

بنابراین ، با تعریف چندین نسخه از یک تابع مشابه، چگونه از داشتن یک کد مشابه در چندین مکان جلوگیری می کنیم؟ پاسخ در واقع کاملاً ساده است: ما به نسخه های ساده متد اجازه می دهیم نسخه پیچیده آن تمام کارها را انجام دهد. مثال زیر را در نظر بگیرید:

class SillyMath

{

public static int Plus(int number1, int number2)

{

return Plus(number1, number2, 0);

}

public static int Plus(int number1, int number2, int number3)

{

return number1 + number2 + number3;

}

}

ما یک روش Plus را در دو نسخه متفاوت تعریف می کنیم. نسخه اول برای اضافه کردن دو عدد، دو پارامتر اتخاذ می کند، در حالی که نسخه دوم سه عدد می گیرد. کار واقعی در نسخه ای انجام می شود که سه عدد می گیرد – اگر فقط می خواهیم دو عدد اضافه کنیم، نسخه سه پارامتری را فراخوانی می کنیم، و به سادگی از ۰ به عنوان پارامتر سوم استفاده می کنیم که به عنوان یک مقدار پیش فرض عمل می کند. همانطور که از نام کلاس مشخص شده است، می دانیم که این نمونه به طرز احمقانه ای ساده است، اما باید در مورد چگونگی عملکرد آن ایده ای به شما بدهد.

حال هر زمان که با افزودن چهار عدد ریاضی احساس کردید می خواهید ریاضیات پیشرفته انجام می دهید، اضافه یک overload جدید بسیار ساده است:

class SillyMath

{

public static int Plus(int number1, int number2)

{

return Plus(number1, number2, 0);

}

public static int Plus(int number1, int number2, int number3)

{

return Plus(number1, number2, number3, 0);

}

public static int Plus(int number1, int number2, int number3, int number4)

{

return number1 + number2 + number3 + number4;

}

}

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

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست