Je vous expose un cas pratique pour lequel je ne trouve pas de solution élégante, mais peut être ai-je le nez trop pret du guidon :

Imaginons une entité décrite par un certain nombre d'attributs.
Cette entité peut être surchargée = une déclinaison peut en être faite pour un contexte particulier. Cette déclinaison surchargerait un ou plusieurs attributs de l'entité mère, pas forcément tous.
L'idée serait de pouvoir appeler getEntite(contexte) et si le contexte fait référence à l'entité fille, que cette dernière soit retournée come le mix des attributs qu'elle a surchargés et les attributs de sa mère, restés non surchargés.

Ce que je cherche derrière tout ça, c'est :
- si l'entité mère est modifiée, les enfants bénéficient automatiquement des modifications sur les attributs qu'ils ne surchargent pas, sans avoir à entrer dans une mécanique de propagation de modifications dans tout l'arbre.
- pouvoir surcharger sur plusieurs niveaux (mère, fille, fille de la fille, ...) et toujours profiter de ce mécanisme de "calque" (ça me fait penser aux calques dans Photoshop)

Voyez vous comment modéliser ce besoin pour pouvoir le persister et y accéder comme décrit ?