Sélection multiple

Un article de Wikipédia, l'encyclopédie libre.

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[modifier | modifier le code]