Sélection multiple

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.
Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus.

Cet article ne cite pas suffisamment ses sources ().

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».

En pratique : Quelles sources sont attendues ? Comment ajouter mes sources ?

En programmation orientée objet, la sélection multiple (ou sélection de méthode à aiguillage multiple) traduit le fait que tous les arguments sont pris en compte par le compilateur pour sélectionner la méthode à appeler. Exemple (donné en Common Lisp) :

(defmethod f ((a A) (b B)) ) ;; m1
(defmethod f ((a A) (d D)) ) ;; m2

(defclass A ())
(defclass B ())
(defclass D (B))

(let ((a (make-instance 'A))
      (b (make-instance 'D)))
  (f a b))

Le code précédent appellera bien la méthode m2, car le compilateur aura recherché la méthode suivant les types de tous les arguments (d'où le nom d'aiguillage multiple).

Notes et références

  • icône décorative Portail de la programmation informatique