Bonjour,
Qu'est ce que c'est que l'operator ad-hoc polymorphism?![]()
Bonjour,
Qu'est ce que c'est que l'operator ad-hoc polymorphism?![]()
Wiki te donne un début de réponse:
There are two fundamentally different kinds of polymorphism, originally informally described by Christopher Strachey in 1967. If the range of actual types that can be used is finite and the combinations must be specified individually prior to use, it is called Ad-hoc polymorphism. If all code is written without mention of any specific type and thus can be used transparently with any number of new types, it is called parametric polymorphism. Luca Cardelli and Peter Wegner later modified Strachey's definition by replacing parametric polymorphism with universal polymorphism, which includes parametric polymorphsim and inclusion polymorphism (Cardelli, 1985).
object-oriented programming, ad-hoc polymorphism is generally supported through object inheritance, i.e., objects of different types may be treated uniformly as members of a common superclass. Ad-hoc polymorphism is also supported in many languages using function and method overloading.
Parametric polymorphism is widely supported in statically typed functional programming languages. In the object-oriented programming community, programming using parametric polymorphism is often called generic programming.
Merci.
je ne comprends pas très bien ce que dit l'article![]()
Grosso modo, le polymorphisme ad-hoc est celui que tu utilises en règle général, par surcharge ou par héritage en OO.
En opposition tu as le polymorphisme paramétrique, qui correspond à celui que tu obtiendrais par utilisation des templates, par exemple (programmation générique). Ce polymorphisme est aussi celui que tu trouves en ocaml (langage typé fonctionnel). C'est plutôt ça le « vrai » polymorphisme, le premier étant un polymorphisme en pratique qui apparaît dans l'utilisation (d'où le ad-hoc).
Partager