Table des matières:
- Définition - Que signifie la surcharge de l'opérateur?
- Techopedia explique la surcharge de l'opérateur
Définition - Que signifie la surcharge de l'opérateur?
La surcharge des 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 transmis.
La surcharge d'opérateur facilite la spécification de l'implémentation définie par l'utilisateur pour les opérations dans lesquelles l'un ou les deux opérandes sont de type classe ou structure défini par l'utilisateur. Cela permet aux types définis par l'utilisateur de se comporter un peu comme les types de données primitifs fondamentaux. La surcharge des 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 une 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érateur, sauf pour la concaténation de chaînes pour laquelle il surcharge l'opérateur + en interne.
Techopedia explique la surcharge de l'opérateur
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 les types définis par l'utilisateur en les définissant dans les 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 () pour ces opérateurs doit être remplacée pour éviter un avertissement du compilateur. La surcharge ne doit pas être utilisée pour des opérateurs tels que conditionnel, logique (et !!), affectation (+ =, - =, etc.), transtypage et indexation de tableau ().
Il est fortement recommandé que la surcharge de l'opérateur soit implémentée de manière à ce que les résultats produits soient intuitivement attendus de l'implémentation par défaut de l'opérateur. Certaines règles mathématiques telles que la loi commutative, applicables aux expressions à deux opérandes, ne peuvent pas s'appliquer lorsqu'elles sont utilisées en surcharge pour les types car elles ne sont définies que pour les opérandes numériques.