Surcharge de l’opérateur

Définition - Que signifie la surcharge de l'opérateur?

La surcharge d'opérateurs est une technique par laquelle les opérateurs utilisés dans un langage de programmation sont implémentés dans des types définis par l'utilisateur avec une logique personnalisée basée sur les types d'arguments passés.

La surcharge d'opérateur facilite la spécification de l'implémentation définie par l'utilisateur pour des opérations dans lesquelles un ou les deux opérandes sont de type classe ou structure défini par l'utilisateur. Cela aide les types définis par l'utilisateur à se comporter comme les types de données primitifs fondamentaux. La surcharge d'opérateurs est utile dans les cas où les opérateurs utilisés pour certains types fournissent une sémantique liée au contexte de domaine et à la prise en charge syntaxique, comme dans le langage de programmation. Il est utilisé pour la commodité syntaxique, la lisibilité et la maintenabilité.

Java ne prend pas en charge la surcharge d'opérateurs, à l'exception de la concaténation de chaînes pour laquelle il surcharge l'opérateur + en interne.

Definir Tech explique la surcharge des opérateurs

Les opérateurs sont référencés en utilisant la notation d'opérateur dans les expressions et la notation fonctionnelle dans les déclarations. La syntaxe, la priorité et l'associativité d'un opérateur ne peuvent pas être modifiées à l'aide de déclarations d'opérateur définies par l'utilisateur.

Par exemple, les opérateurs en C # sont classés en fonction du type d'opération qu'ils effectuent. Certains d'entre eux sont surchargés dans des types définis par l'utilisateur en les définissant dans des fonctions membres statiques et en utilisant le mot-clé operator. Les paramètres de la fonction opérateur représentent les opérandes, tandis que le type de retour d'une fonction opérateur représente le résultat de l'opération. La surcharge est implémentée par paires pour les opérateurs, tels que les opérateurs de comparaison tels que "==" et "! =". La méthode Equals () de ces opérateurs doit être remplacée pour éviter un avertissement du compilateur. La surcharge ne doit pas être utilisée pour les opérateurs tels que conditionnel, logique (et !!), affectation (+ =, - =, etc.), conversion et indexation de tableau ([]).

Il est fortement recommandé que la surcharge de l'opérateur soit implémentée de telle sorte que les résultats produits soient ceux que l'on attend intuitivement de l'implémentation par défaut de l'opérateur. Certaines règles mathématiques telles que la loi commutative, applicables aux expressions avec deux opérandes, ne peuvent pas être applicables lorsqu'elles sont utilisées dans la surcharge de types car elles ne sont définies que pour les opérandes numériques.