Transformation de la relation d'héritage

Trois solutions existent pour transformer une relation d'héritage exprimée en E-A :

  • par référence,

  • par absorption par les sous-types d'entité,

  • par absorption par l'entité générale.

AttentionLes entités non finales sont abstraites

En modélisation E-A on considérera toujours que les entités non finales (c'est à dire qui sont héritées par d'autres entités) sont abstraites. Une entité abstraite est une entité qui ne peut pas être instanciée.

Donc si E2 hérite de E1 (et que E2 est finale c'est à dire qu'aucune classe n'hérite de E2), il existera des objets de E2, mais pas des objets de E1. Si l'on veut disposer d'objets de E1, il suffit de créer une classe E1' qui hérite de E1 sans apporter de propriété supplémentaire.

En modélisation UML on pourra différencier les classes abstraites des classes instanciables.