Съдържание:
- Определение - Какво означава претоварване на оператора?
- Techopedia обяснява претоварването на оператора
Определение - Какво означава претоварване на оператора?
Претоварването на оператора е техника, чрез която операторите, използвани в език за програмиране, се реализират в дефинирани от потребителя типове с персонализирана логика, която се основава на типовете предадени аргументи.
Претоварването на оператора улеснява спецификацията на дефинираната от потребителя реализация за операции, при които един или и двата операнда са от типа на клас или структура, дефиниран от потребителя. Това помага на дефинираните от потребителя типове да се държат подобно на основните примитивни типове данни. Претоварването на оператора е полезно в случаите, когато операторите, използвани за определени типове, предоставят семантика, свързана с контекста на домейна и синтактична поддръжка, както се намира в програмния език. Използва се за синтактично удобство, четимост и поддържане.
Java не поддържа претоварване на оператор, с изключение на конкатенация на низове, за която вътрешно претоварва + оператора.
Techopedia обяснява претоварването на оператора
Операторите се споменават с помощта на нотация на оператора в изрази и функционална нотация в декларации. Синтаксисът, приоритетът и асоциативността на оператор не могат да бъдат променени чрез използване на декларирани от потребителя декларации.
Например операторите в C # се категоризират въз основа на вида операция, която извършват. Някои от тях се претоварват в дефинирани от потребителя типове, като ги дефинират в статични функции на членове и използват ключовата дума на оператора. Параметрите на операторската функция представляват операндите, докато типът връщане на операторска функция представлява резултата от операцията. Претоварването се осъществява по двойки за оператори, като оператори за сравнение като "==" и "! =". Методът Equals () за тези оператори трябва да бъде отменен, за да се избегне предупреждение за компилатор. Претоварването не трябва да се използва за оператори като условно, логично (и !!), присвояване (+ =, - = и т.н.), кастинг и индексиране на масив ().
Силно препоръчително е претоварването на оператора да се изпълнява така, че получените резултати да са интуитивно очаквани от внедряването по подразбиране на оператора. Някои математически правила като комутативно право, приложими за изрази с два операнда, не могат да бъдат приложими, когато се използват при претоварване за типове, тъй като те са определени само за числови операнди.
