next up previous contents
Next: Héritage simple en C++ Up: Héritage simple Previous: Relation d'héritage

Associer un nom à sa définition

Pratiquement, cet héritage signifie qu'un nom n'est pas toujours défini dans la classe, mais peut être défini dans un des ancêtres de cette classe. Ainsi pour associer un nom à sa définition, un langage orienté objets sera amené à parcourir la relation d'héritage pour trouver une définition pour ce nom.

Comme il s'agit d'associer un nom à sa définition, il s'agit d'un cas particulier du problème général de la portée des noms. Un nom utilisé par un objet d'une classe A, peut avoir plusieurs définitions parmi les ancêtres de la classe A. Pour l'héritage simple, comme l'ensemble des ancêtres de A est totalement ordonné, il suffit de choisir la définition la plus récente pour la relation d'héritage. Avec l'héritage multiple, la situation sera plus complexe et sera étudiée plus loin.

En C++ et dans les langages compilés où le typage est statique, cette relation d'héritage est statique, et donc tout le problème de la portée des noms pourra être (et sera) résolu à la compilation, et donc ne coûtera rien de plus à l'exécution. Par contre pour des langages interprétés comme smalltalk, cette recherche entraînera un parcours dynamique de la relation d'héritage.




Mon Oct 20 14:02:48 MET 1997