Преглед садржаја:
Дефиниција - Шта значи преоптерећење?
Преоптерећење се односи на способност коришћења јединственог идентификатора за дефинисање више метода класе које се разликују у њиховим улазним и излазним параметрима. Преоптерећене методе се обично користе када концептуално извршавају исти задатак, али с нешто другачијим скупом параметара.
Преоптерећење је концепт који се користи за избегавање сувишног кода где се исти назив методе користи више пута, али са различитим сетом параметара. Стварни метод који се позива током рунтиме-а решава се током компајлирања, чиме се избегавају грешке извршавања. Преоптерећење пружа јасноћу кода, елиминише сложеност и побољшава перформансе рада.
Техопедија објашњава преоптерећење
Преоптерећење се користи у програмским језицима који намећу проверу типа у функцијским позивима током компилације. Када је метода преоптерећена, изабрани метод ће бити изабран у време превођења. Ово није исто што и виртуелне функције код којих је метода дефинисана током извођења.
За разлику од Јава, Ц # омогућава оператерима да се препуне, поред метода, дефинисањем статичких чланова помоћу кључне речи оператора. Ова функција помаже да се прошири и прилагоди семантика оператора релевантних за кориснички дефиниране типове тако да се могу користити за манипулирање инстанци објекта с оператерима.
Резолуција преоптерећења у Ц # је метода којом се права функција бира на основу аргумената и листе кандидата који имају исти назив. Различити контексти у којима се користи резолуција преоптерећења укључују:
- Позив методе у изразу
- Конструктор током креирања објекта
- Приступ индексеру кроз приступ елементу и унапријед дефинирани или кориснички дефинирани израз оператера
Препоручује се избегавање преоптерећења преко граница наслеђивања јер може да изазове помутњу. Преоптерећење може постати незгодно за програмере ако се користи претерано и са кориснички дефинисаним типовима као параметрима, јер може умањити читљивост и одрживост кода.
