Exercice UML corrigé modèle de classes: Héritage UML

1. Les étudiants  et les enseignants héritent  de la classe Personne. D’autres personnes, qui ne sont ni des étudiants,  ni des enseignants, dérivent de la classe Personne. Ajoutez la contrainte {incomplete} du langage OCL pour expliciter cette situation.

UML Problèmes et exercices

2. Un doctorant  est à la fois un étudiant  et un enseignant. Le doctorant  hérite à la fois des propriétés des enseignants et de celles des étudiants. Il s’agit bien d’un héritage multiple. Cela nécessite, également, l’ajout de la contrainte  {overlapping}, qui indique qu’un étudiant et un enseignant peuvent instancier le même objet (l’intersection entre les ensembles d’objets des classes Enseignant et Étudiant n’est pas vide). Ce modèle est correct pour une implémentation en C++, car ce langage autorise l’héritage multiple.

uml89

Java n’accepte que l’héritage simple. Cette contrainte  implique une modélisation hiérarchique de l’héritage. En d’autres termes, une classe peut avoir au plus un seul parent. L’ajout de cette contrainte implique implicitement l’ajout de la contrainte {disjoint} entre les classes qui dérivent directement  de toute classe du modèle. Vous pouvez modéliser.

cela en séparant les instances des doctorants  de celles des étudiants  et des enseignants. Vous obtenez le modèle présenté à la figure 2.60.

uml90

3. L’inscription nécessite au moins deux opérations.

Dans le cas de l’héritage simple, la solution  consiste à définir une interface Inscription contenant  les deux opérations.  Celles-ci peuvent être réalisées par la classe Étudiant et utilisées par la classe Doctorant (figure 2.61).

uml91

La solution proposée par la figure 2.61 est aussi valable dans le cas où le langage supporte l’héritage multiple. Cependant, dans ce dernier cas, deux autres solutions sont possibles comme le montre la figure 2.62.

modèle de classes

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *