Qu'est-ce que la surcharge de l'opérateur?

La surcharge des opérateurs est une fonctionnalité du langage de programmation informatique qui permet à un programmeur de remplacer un opérateur par défaut. Lorsque la fonction d'opérateur est surchargée, elle peut être déclarée avec des arguments personnalisés de types de données différents de ceux que l'opérateur était capable de gérer par défaut. Les nouveaux paramètres peuvent être des types primitifs ou définis par l'utilisateur. Dans le corps de la fonction prioritaire, un programmeur peut manipuler les valeurs de paramètre à volonté. En utilisant la surcharge d'opérateur, un programmeur peut créer des raccourcis intuitifs pour manipuler les types de données définis par l'utilisateur ou modifier la façon dont les types de données par défaut sont gérés.

Lorsque des types de données définis par l'utilisateur sont créés, il est impossible d'effectuer des tâches opérationnelles simples, telles que l'ajout de deux d'entre elles ou l'incrémentation de données internes à l'aide de l'opérateur d'incrémentation unaire associé au type de données. Les opérateurs, y compris le symbole d'addition, peuvent être remplacés. Ainsi, s'ils sont utilisés en tant qu'opérateurs binaires entre deux types de données personnalisés, ils renvoient un résultat défini par l'utilisateur. De la même manière, un opérateur unaire, comme l'opérateur d'incrémentation, peut être remplacé pour augmenter une valeur interne dans le type défini par l'utilisateur.

Une fois qu'un opérateur est surchargé, le compilateur doit décider de ce qu'il doit faire lorsqu'il rencontre un opérateur surchargé. Le compilateur décide des mesures à prendre en fonction des types de données utilisés comme opérandes ou conjointement avec l'opérateur. Si les opérandes, qui sont des valeurs de paramètre pour la fonction opérateur, sont des types de données définis par l'utilisateur, le compilateur choisira la fonction surchargée dont les paramètres correspondent aux opérandes utilisés.

Les langages informatiques varient dans la manière dont ils autorisent ce type de polymorphisme ad hoc. Différentes langues peuvent permettre la création de nouveaux opérateurs personnalisés, la surcharge de tout ou partie de ses opérateurs, ou ne pas permettre la surcharge des opérateurs. C ++, C #, PHP et Perl permettent tous de surcharger certains de leurs opérateurs. La surcharge d'opérateurs n'est pas autorisée en C, Java et Javascript.

La surcharge des opérateurs et la surcharge des fonctions en général ont fait l’objet de débats. Certains prétendent que le fait de laisser au programmeur la liberté de changer le comportement d'un opérateur pourrait éventuellement créer des erreurs non intentionnelles de la part d'autres programmeurs utilisant le code personnalisé. Le point de vue opposé propose que permettre la surcharge des opérateurs donne aux programmeurs la possibilité de créer un code intuitif et concis qui sera plus facile à comprendre, dont le coût de production sera réduit et qui réduira les erreurs.

DANS D'AUTRES LANGUES

Cet article vous a‑t‑il été utile ? Merci pour les commentaires Merci pour les commentaires

Comment pouvons nous aider? Comment pouvons nous aider?