Académique Documents
Professionnel Documents
Culture Documents
3 Héritage
5 Classe paramétrée
6 Paquetage ou package
7 Exercices corrigés
8 Références
L’attribut doit être inscrit en minuscule mais s’il s’agit d’un nom
composé la première lettre de chaque mot peut être mise en majuscule,
à l’exception de la première lettre du premier mot : nomDeLAttribut.
Syntaxe
Pour un attribut, la syntaxe est :
Visibilité nomAttribut : modificateurs type multiplicité = valeur_initiale
Association : rôles
Association : multiplicités
Exemple
On peut accéder à ses voitures à partir d’une personne ; pas à ses
propriétaires à partir d’une voiture.
Association bidirectionnelle
Association réflexive
Une classe peut être associée à elle-même.
Une classe peut contenir une référence à des objets de même classe.
Association multiple
Les classes ont plusieurs relations distinctes entre elles; auquel cas,
on prend alors soin de préciser le nom de chaque association et
pour chacune d’entre elles le rôle de chaque classe, afin de distinguer
l’utilité des différentes relations.
Attributs d’association
Un attribut d’association est un attribut qui caractérise l’association et
pas seulement une de ses classes extrémités.
Dans le cas d’une multiplicité 1, il est possible mais non souhaitable
d’attacher l’attribut d’association à la classe (salaire sur Personne si
elle ne peut travailler que dans une seule entreprise).
Exemple
Le salaire sur Personne si elle ne peut travailler que dans une seule
entreprise.
Association n-aire
Association n-aire = une association parmi 3 classes ou plus.
Chaque instance de l’association est un n-tuple de valeurs des classes
respectives.
Agrégation
Remmarque
L’agrégation signifie qu’un objet en contient d’autres.
Agrégation : exemples
Composition
Composition : exemples
Composition
La composition peut être vue comme une relation “fait partie de” (“part
of”), c’est à dire que si un objet B fait partie d’un objet A alors B ne peut
pas exister sans A. Ainsi si A disparaît alors B également.
Agrégation
L’agrégation quant à elle est vue comme une relation de type “a un” (“as
a”), c’est à dire que si un objet A a un objet B alors B peut vivre sans A.
Exemple
Exemple
Exemple
Exemple
Exemple
Relation d’héritage
Terminologie de l’héritage
Héritage multiple
En UML une classe peut hériter de plusieurs super-classes.
La classe dérivée hérite alors les attributs et méthodes de toutes ses
super-classes.
C++ un des langages objet permettant son implantation effective.
Java ne le permet pas.
Classes abstraites
Une méthode est dite abstraite lorsqu’on connaît son entête mais pas
la manière dont elle peut être réalisée.
Il appartient aux classes dérivées de définir les méthodes abstraites.
Une classe est dite abstraite lorsqu’elle définit au moins une méthode
abstraite ou lorsqu’une classe parent contient une méthode abstraite
non encore réalisée.
Une classe abstraite est représentée comme une classe avec un nom en
italique ou avec le mot clé {abstract}.
Interface
Une interface n’est pas une classe, c’est une liste d’opérations.
Une interface, comme une classe abstraite, ne peut pas servir à créer
un objet.
Le rôle d’une interface est de regrouper un ensemble d’opérations
assurant un service cohérent offert par un classeur et une classe en
particulier.
Une interface est définie comme une classe, avec les mêmes
compartiments. On ajoute le stéréotype interface avant le nom de
l’interface.
On utilise une relation de type réalisation entre une interface et une
classe qui l’implémente.
Les classes implémentant une interface doivent implémenter toutes les
opérations décrites dans l’interface.
Année Universitaire : 2022/2023
Prof. Said El Kafhali Chapitre 4 : Diagramme de classes 41 / 62
Classes abstraites et interfaces
Exemple d’interface
Implémentation-héritage
Classe paramétrée/générique *
Classe paramétrée/générique = paramétrée par des types.
Attributs génériques = typés avec le type en paramètre.
Opérations génériques = arguments et / ou type de retour génériques.
Package
Notation
Un paquetage est représenté par un dossier contenant un nom.
Le nom du paquetage peut être préfixé par le nom du paquetage qui le
contient.
Le contenu du paquetage peut être exposé.
Les éléments constituant le paquetage donne la visibilité (privée,
publique, protégée) qu’ils affichent vis-à-vis de l’extérieur.
Paquetage : exemple
Encapsulation
Exemple d’encapsulation
Paquetage (Recommandations)
Exercice 1
Enoncé
Des personnes définies par leur nom peuvent acheter une ou plusieurs
voitures (définies par leur modèle).
Chaque voiture peut posséder un autoradio (avec ou sans lecteur de
CD).
Cet autoradio est extractible. Le propriétaire de l’autoradio est une
personne qui n’est pas obligatoirement celui de la voiture.
Question
Tracer le diagramme de classe correspondant.
Corrigé de l’exercice 1
Exercice 2
Corrigé de l’exercice 2
Exercice 3
Un hôtel est composé d’au moins deux chambres. Chaque chambre dispose
d’une salle d’eau qui peut être une douche ou une salle de bain. L’hôtel
héberge des personnes. Il peut employer du personnel et est dirigé par un
des employés. L’hôtel a les caractéristiques suivantes : une adresse, le
nombre de pièces, la catégorie. Une chambre est caractérisée par le nombre
et le type de lits, le prix et le numéro. On peut calculer le chiffre d’affaires
et le prix de la chambre en fonction du nombre d’occupants. On gère aussi
la réservation des chambres. On peut connaître à tout moment la
disponibilité des chambres.
Proposer le diagramme de classe qui vous paraît la plus adaptée.
Corrigé de l’exercice 3
Références
1 Pascal Roques, UML 2 par la pratique: études de cas et exercices
corrigés, Groupe Eyrolles.
2 Xavier Blanc Isabelle Mounier, UML 2 pour les développeurs: Cours
avec exercices corrigés, Groupe Eyrolles, Code éditeur : G12029 •
ISBN : 2-212-12029-X.
3 Pierre Gérard, Introduction à UML 2: Modélisation Orientée Objet de
Systèmes Logiciels, Cours DUT Informatique S2D, Université de Paris
13 IUT Villetaneuse.
4 G. BOOCH, J. RUMBAUGH et Y. JACOBSON, Le guide de
l’utilisateur UML , (Eyrolles, 2000).
5 P. A. MULLER et N. GAERTNER, Modélisation objet avec UML ,
(Eyrolles, 2000).
6 Pierre-Alain Muller and Nathalie Gaertner. Modélisation objet avec
UML. Eyrolles, 2è edition, 2003.
7 James Rumbaugh et al. Modélisation et conception orientée objet.
Masson, 1994. Année Universitaire : 2022/2023
8 Prof. Said El Kafhali Chapitre 4 : Diagramme de classes 62 / 62