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).