Оператор преоптерећење

Аутор: Randy Alexander
Датум Стварања: 1 Април 2021
Ажурирати Датум: 25 Јуни 2024
Anonim
PR2 Preklapanje operatora (Online 2014/2015)​​
Видео: PR2 Preklapanje operatora (Online 2014/2015)​​

Садржај

Дефиниција - Шта значи преоптерећење оператора?

Преоптерећење оператора је техника којом се оператори који се користе у програмском језику имплементирају у кориснички дефинисаним типовима са прилагођеном логиком која се заснива на врстама аргумената који се прослеђују.

Преоптерећење оператора олакшава спецификацију корисничке дефиниције за операције у којима су један или оба операнда дефинирани од стране класе или врсте структуре. Ово помаже типовима дефинираним од стране корисника да се понашају попут основних примитивних типова података. Преоптерећење оператора је корисно у случајевима када оператори који се користе за одређене типове пружају семантику везану за цон домен и синтактичку подршку као што је пронађено у програмском језику. Користи се за синтактичку практичност, читљивост и одрживост.

Јава не подржава преоптерећење оператора, изузев конкатације низа за коју интерно оптерећује + оператора.


Увод у Мицрософт Азуре и Мицрософт Цлоуд | Кроз овај водич научићете о томе шта се рачуна у облаку и како вам Мицрософт Азуре може помоћи да мигрирате и покренете посао из облака.

Тецхопедиа објашњава преоптерећење оператора

Оператори се позивају на употребу оператора у изразима и функционалне нотације у декларацијама. Синтакса, приоритет и асоцијативност оператера не могу се променити употребом декларација корисника дефинисаних од стране корисника.

На пример, оператори у Ц # категорису се на основу врсте операције коју изводе. Неки од њих су преоптерећени у кориснички дефинираним типовима дефинирањем у функцијама статичких чланова и кориштењем кључне ријечи оператера. Параметри функције оператора представљају операнде, док тип повратка функције оператора представља резултат операције. Преоптерећење се спроводи у паровима за операторе, попут оператора за поређење попут "==" и "! =". Метода Екуалс () за ове операторе треба пребрисати да се избегне упозорење компајлера. Преоптерећење се не користи за оператере као што су условно, логичко (и !!), додељивање (+ =, - = итд.), Кастинг и индексирање низова ().

Веома се препоручује да се преоптерећење оператора спроведе тако да се добијени резултати интуитивно очекују од задане имплементације оператера. Одређена математичка правила, попут комутативног закона, примењива на изразе са два операнда, не могу се применити када се користе у преоптерећењу за типове, јер су дефинисани само за нумеричке операнде.