next up previous
Next: Les langages objets Up: Les concepts objets Previous: Les classes et les

L'héritage

L'héritage capture la relation de généralisation, il facilite ainsi la modélisation des objets et la modularité et la réutilisation du code.

Définition 3.9   Héritage simple : mécanisme de transmission des propriétés d'une classe vers une sous-classe.

Définition 3.10   Héritage multiple : mécanisme par lequel une sous-classe hérite des propriétés de plus d'une super-classe.

L'héritage permet d'éviter la redondance des définitions des attributs et des opérations.

Remarques :

Définition 3.11   Classe abstraite = attributs + signature des opérations.

Une classe abstraite ne peut pas être instanciée. Elle doit être la sur-classe d'une autre, dans laquelle les opérations devront être implémentées.

Définition 3.12   Surcharge : redéfinition d'une opération avec un code différent.

Définition 3.13   Polymorphisme : faculté d'une opération à pouvoir s'appliquer à des objets de classes différentes.

Remarques : le polymorphisme complique le déroulement d'un programme. Pour une opération polymorphe, quelle est l'implémentation à exécuter ? (c-a-d quelle est la classe réelle de l'objet ?). Ce choix peut être décidé à la compilation où à l'exécution.

Définition 3.14   Liaison dynamique : mécanisme de sélection de code d'une opération à l'exécution en fonction de la classe de l'objet receveur.

Remarque : la liaison dynamique est difficilement compatible avec un typage statique fort, pourtant garant de sûreté à l'exécution.

Exercice 3.6   Le propriétaire est un client qui ne paye pas, et qui cherchera à contrôler l'honneteté des clients et de ses opérateurs. Donnez un graphe d'héritage et de la surcharge d'opération.













next up previous
Next: Les langages objets Up: Les concepts objets Previous: Les classes et les
Alain GRIFFAULT
2000-01-05