Перевантаження оператора

Автор: Randy Alexander
Дата Створення: 1 Квітень 2021
Дата Оновлення: 26 Червень 2024
Anonim
Перегрузка операторов пример. ООП. Перегрузка оператора присваивания.  C++ Для начинающих. Урок#83
Відеоролик: Перегрузка операторов пример. ООП. Перегрузка оператора присваивания. C++ Для начинающих. Урок#83

Зміст

Визначення - Що означає перевантаження оператора?

Перевантаження оператора - це техніка, за допомогою якої оператори, що використовуються в мові програмування, реалізуються у визначених користувачем типах з індивідуально налаштованою логікою, яка базується на типах переданих аргументів.

Перевантаження оператора полегшує специфікацію визначеної користувачем реалізації для операцій, де один або обидва операнди призначені для користувача класом або типом структури. Це допомагає визначеним користувачем типам поводитись так само, як основні примітивні типи даних. Перевантаження операторів корисно в тих випадках, коли оператори, які використовуються для певних типів, надають семантику, пов’язану з конфінансом домену та синтаксичною підтримкою, як це знайдено в мові програмування. Він використовується для синтаксичної зручності, читабельності та ремонтопридатності.

Java не підтримує перевантаження оператора, за винятком конкатенації рядків, для якої вона внутрішньо перевантажує оператор +.


Вступ до Microsoft Azure та Microsoft Cloud | У цьому посібнику ви дізнаєтеся, що стосується хмарних обчислень та як Microsoft Azure може допомогти вам мігрувати та вести свій бізнес із хмари.

Техопедія пояснює перевантаження оператора

Оператори посилаються, використовуючи позначення операторів у виразах та функціональні позначення в деклараціях. Синтаксис, пріоритет та асоціативність оператора не можуть бути змінені за допомогою визначених користувачем декларацій оператора.

Наприклад, оператори в C # класифікуються залежно від типу операції, яку вони виконують. Деякі з них перевантажуються у визначених користувачем типах, визначаючи їх у статичних функціях членів та використовуючи ключове слово оператора. Параметри функції оператора представляють операнди, тоді як тип повернення функції оператора представляє результат операції. Перевантаження реалізується парами для операторів, таких як оператори порівняння типу "==" та "! =". Метод Equals () для цих операторів повинен бути скасований, щоб уникнути попередження компілятора. Перевантаження не слід використовувати для таких операторів, як умовна, логічна (і !!), призначення (+ =, - = і т.д.), індексація кастингу та масиву ().

Настійно рекомендується здійснювати перевантаження оператора таким чином, щоб отримані результати були інтуїтивно зрозумілими, коли реалізація оператора за замовчуванням буде реалізована. Деякі математичні правила, такі як комутативний закон, застосовний до виразів з двома операндами, не можуть бути застосовані при використанні при перевантаженні для типів, оскільки вони визначені лише для числових операндів.