Polymorphisme automatique

Un comportement idéal serait qu’une classe abstraite ait plusieurs implantations, et que celles-ci puissent changer toutes seules pour passer de l’une à l’autre. Par exemple, lorsqu’une liste chaînée classique listech commencerait à déborder, elle se transformerait toute seule en liste-tableau listetab qui est plus compacte.

Cela n’est pas possible directement, car il peut exister plusieurs pointeurs sur une même instance de classe dans un programme. Si celle-ci change, elle changera probablement de position en mémoire, et les pointeurs vont se retrouver incorrects ; une telle chose n’est pas prévisible directement dans les méthodes des classes.

Ce polymorphisme automatique peut cependant être implanté.

Précédent Précédent Sommaire Sommaire Suivant Suivant