« Patrons de conception/Double-dispatch » : différence entre les versions

Contenu supprimé Contenu ajouté
orthographe
DannyS712 (discussion | contributions)
m <source> -> <syntaxhighlight> (phab:T237267)
Ligne 10 :
 
Exemple en Java :
<sourcesyntaxhighlight lang="java">
// Une classe Object comportant un attribut : le nom de l'objet
class Object
Ligne 34 :
// référence de type Object mais objet de type SimpleObject
System.out.println(book.toString()); // SimpleObject.toString
</syntaxhighlight>
</source>
Affiche :
a simple book
Ligne 44 :
 
Exemple en Java où il n'existe que le simple-dispatch :
<sourcesyntaxhighlight lang="java">
// NB: Les classes Object et SimpleObject de l'exemple précédent sont également
// utilisées ici. Voir l'exemple précédent pour leur code source.
Ligne 79 :
Display disp = new SimpleDisplay();
disp.display(book, card); // -> SimpleDisplay.display(Object, Object)
</syntaxhighlight>
</source>
Affiche :
A simple display for object (a simple book) and object (a simple card)
L'exemple précédent démontre que le langage Java ne permet pas nativement le '''multiple-dispatch'''. Dans le cas contraire, la méthode <sourcesyntaxhighlight enclose="none" lang="java">SimpleDisplay.display(SimpleObject, SimpleObject)</sourcesyntaxhighlight> aurait été appelée et l'affichage aurait été le suivant :
A simple display for simple object (a simple book) and simple object (a simple card)
 
Ligne 91 :
 
Exemple en Java :
<sourcesyntaxhighlight lang="java">
// Une classe Object comportant un attribut : le nom de l'objet
class Object
Ligne 139 :
Display disp = new SimpleDisplay();
book.display(disp); // SimpleObject.display(Display) -> SimpleDisplay.display(SimpleObject)
</syntaxhighlight>
</source>
Affiche :
A simple display for simple object (a simple book)