On peut envisager cette relation d'héritage de plusieurs points de vue :
class rectangle{ Point origine; int longueur, int largeur, //... };est une représentation raisonnable d'un rectangle, mais dans la représentation d'un carré, un des deux membres longueur et largeur est inutile.
En d'autres termes du point de vue de la représentation (les données membres) : A hérite de B implique que la représentation de A contient la représentation de B
Ces différents points de vue, ne sont pas sans contradictions, si les deux premiers sont bien équivalents, le troisième qui, dans une certaine mesure est celui de la réalité informatique, est assez différent. Il fait intervenir la notion de représentation (notion informatique). A priori, rien n'indique que la relation d'inclusion entre ensemble ait un lien avec la notion d'inclusion entre représentation.
D'ailleurs, toujours du point de vue informatique, on peut utiliser cette relation d'inclusion uniquement pour réutiliser les fonctions membres. L'héritage peut servir aussi à utiliser les méthodes des ancêtres sans qu'il n'y ait ni rapport entre les représentions, ni relation ensembliste entre les classes, mais simplement des similitudes concernant certaines méthodes.