Ancêtres, descendants et hiérarchies des classes

De RAD Studio
Aller à : navigation, rechercher

Remonter à Programmation orientée objet et écriture des composants - Index

Les développeurs d'applications peuvent se servir du fait que chaque contrôle a des propriétés Top et Left qui déterminent son emplacement sur la fiche. Pour eux, il importe peu que tous les contrôles aient hérité ces propriétés d'un ancêtre commun, TControl. Mais, lorsque vous écrivez un composant, vous devez savoir à partir de quelle classe vous le dérivez de façon à ce qu'il reçoive en héritage les éléments que vous souhaitez. Vous devez également connaître toutes les fonctionnalités dont hérite votre composant de manière à les exploiter sans avoir à les recréer vous-même.

La classe à partir de laquelle vous effectuez la dérivation est l'ancêtre immédiat. Chaque composant hérite de son ancêtre immédiat, et lui-même de son ancêtre immédiat. Toutes les classes dont hérite un composant sont les ancêtres de ce composant ; le composant est un descendant de ses ancêtres.

L'ensemble des relations ancêtre-descendant de l'application constitue les hiérarchies des classes. Dans cette hiérarchie, chaque génération contient plus que ses ancêtres puisqu'une classe hérite de tout ce que contiennent ses ancêtres et ajoute de nouvelles propriétés et de nouvelles méthodes, ou redéfinit celles qui existent.

Si vous ne spécifiez aucun ancêtre immédiat, Delphi dérive votre composant à partir de l'ancêtre par défaut, TObject. TObject est le dernier ancêtre de toutes les classes de la hiérarchie d'objets.

La règle générale du choix de l'objet de départ de la dérivation est simple : Prenez l'objet qui contient le plus possible ce que vous voulez inclure dans votre nouvel objet, mais qui ne comprend rien de ce que vous ne voulez pas dans le nouvel objet. Vous pouvez toujours ajouter des choses à vos objets, mais vous ne pouvez pas en retirer.