Sommaire

Le polymorphisme

1. Comprendre le polymorphisme

Rappelons qu’en programmation orientée objet, le polymorphisme permet à une classe héritière d’être présentée à un traitement comme sa classe de base ou comme une de ses interfaces. Grâce à la virtualisation des méthodes, le traitement appelant la méthode de base est "routé" dans la classe héritière. On obtient ainsi une "spécialisation" du traitement.

Toute référence à une instance de classe dérivée peut implicitement être convertie en une référence à une instance de type de sa classe de base.

En C#, l’héritage et ses mots-clés virtual et override détaillés dans le chapitre précédent permettent, d’une part, à la classe de base de définir quelles méthodes peuvent être spécialisées par ses héritières, et d’autre part, à son ou ses héritières de reprendre à leur compte les méthodes pour les spécialiser.

En C#, chaque type est "polymorphe". Il peut en effet être considéré comme son propre type ou comme celui de sa classe de base et par enchaînements successifs comme le type, racine de tous les types, à savoir System.Object.

2. Exploitation du polymorphisme

La programmation la meilleure est celle qui privilégie ...