Vous êtes sur la page 1sur 5

Diagramme de classe ou UML

Diagramme de classe
Un diagramme de classe est une représentation visuelle d'une classe dans un langage de
programmation orienté objet, comme Java. Voici un résumé clair des éléments essentiels d'un
diagramme de classe :

Nom de la Classe : Le nom de la classe est affiché en haut du diagramme de classe et


identifie la classe.

Attributs : Les attributs de la classe sont affichés sous le nom de la classe et représentent les
propriétés ou les caractéristiques de la classe. Chaque attribut a un nom et un type de données
(par exemple, une chaîne de caractères, un entier, un double, etc.).

Méthodes : Les méthodes de la classe sont listées sous les attributs et représentent les
opérations ou les comportements que la classe peut effectuer. Chaque méthode a un nom, une
liste de paramètres et un type de retour (le type de données renvoyé par la méthode, s'il y en a
un).

Visibilité : La visibilité des attributs et des méthodes est indiquée par des symboles tels que +
(public), - (privé), # (protégé), etc. Cela définit qui peut accéder aux attributs et aux méthodes
depuis l'extérieur de la classe.

Relations : Les relations entre les classes sont représentées par des lignes et des flèches. Les
types courants de relations incluent l'agrégation (une classe contient d'autres classes), la
composition (une classe contient d'autres classes de manière plus forte que l'agrégation),
l'héritage (une classe hérite des propriétés et des méthodes d'une autre classe), l'association
(une relation générale entre les classes), etc.

Cardinalité : La cardinalité est souvent indiquée près des associations pour montrer combien
d'objets d'une classe sont liés à combien d'objets d'une autre classe. Par exemple, 1..* signifie
qu'une classe est associée à un ou plusieurs objets d'une autre classe.
Exemple : Soye l’exo ci-dessous
Créez une classe Java appelée Produit avec les attributs suivants :
 nom (une chaîne de caractères) : pour le nom du produit.
 prix (un double) : pour le prix du produit.
 quantite (un entier) : pour la quantité disponible en stock du produit.
 codeBarre (une chaîne de caractères) : pour le code-barres du produit.
Ajoutez un constructeur qui permet d'initialiser ces attributs lors de la création d'un objet
Produit.
Ajoutez des méthodes get et set pour chaque attribut afin d'accéder et de modifier leurs
valeurs.
Redéfinissez la méthode toString pour afficher les détails du produit sous la forme d'une
chaîne de caractères.
Créez une classe Main qui instancie plusieurs objets Produit, modifiez leurs attributs à l'aide
des setters, puis affichez les détails de chaque produit à l'aide de la méthode toString.
Diagramme de classe :
Les cardinalités
Dans les diagrammes de classe UML, plusieurs symboles de cardinalité sont utilisés pour
spécifier la multiplicité des associations entre les classes. Voici les types de cardinalité les
plus courants :
Voici les quatre types de cardinalité les plus couramment utilisés en UML :
1 : Un et un seul. Il y a exactement un objet associé de l'autre côté de l'association.
0..1 : Zéro ou un. Il peut ne pas y avoir d'objet associé, ou s'il y en a un, il y en a un seul.
1..* : Un ou plusieurs. Il y a au moins un objet associé, et il peut y en avoir plusieurs.
0..* : Zéro ou plusieurs. Il peut ne pas y avoir d'objet associé, ou s'il y en a, il peut y en avoir
plusieurs.
Ces types de cardinalité sont largement utilisés pour spécifier la multiplicité des
associations entre les classes dans les diagrammes de classe UML.
Les relations d'association entre classes
Voici un exemple de diagramme de classe avec une relation d'association entre deux classes,
incluant la cardinalité et leur signification :
Pour relier les deux classes Étudiant et Cours avec la cardinalité dans un diagramme de classe,
nous allons utiliser une relation d'association avec une indication de la multiplicité. Dans cet
exemple, nous allons maintenir la relation "un étudiant peut s'inscrire à plusieurs cours, et un
cours peut avoir plusieurs étudiants inscrits". Voici comment cela pourrait être représenté :

Interprétation :
Les classes Étudiant et Cours sont liées par une classe intermédiaire appelée Inscription. Cette
classe Inscription représente le fait qu'un étudiant s'inscrit à un cours à une date donnée. Elle
contient un attribut dateInscription pour stocker la date d'inscription.

Les lignes avec 1 et * entre Étudiant et Inscription indiquent la cardinalité de la relation. Du


côté de Étudiant, 1 signifie qu'un étudiant peut avoir au moins une inscription (c'est-à-dire
qu'il est inscrit à au moins un cours), et * signifie qu'il peut avoir plusieurs inscriptions. Du
côté de Cours, c'est similaire.
Cette structure de classe avec la classe intermédiaire Inscription permet de modéliser une
relation many-to-many entre les étudiants et les cours, ce qui signifie qu'un étudiant peut être
inscrit à plusieurs cours, et un cours peut avoir plusieurs étudiants inscrits. La classe
Inscription conserve des informations spécifiques à chaque inscription, comme la date
d'inscription.
Exercices
Voici un diagramme de classe simple avec une classe appelée Personne comprenant 3 attributs
et 4 méthodes, y compris les méthodes get, set et toString :

Questions :

1- Quelle est la classe principale dans ce diagramme de classe ?


2- Quels sont les attributs définis dans la classe Personne ?
3- Combien de méthodes sont définies dans la classe Personne, et quel est leur rôle ?
4- Quels sont les noms des méthodes pour obtenir (getter) et définir (setter) les attributs
de la classe Personne ?
5- À quoi servent les méthodes getNom, setNom, getAge, setAge, getAdresse,
setAdresse, et toString ?
6- Comment utiliseriez-vous cette classe pour créer des objets Personne avec des noms,
des âges et des adresses spécifiques ?
7- Comment afficheriez-vous les détails d'un objet Personne en utilisant la méthode
toString ?
8- Pouvez-vous créer une instance de la classe Personne et définir ses attributs à l'aide
des méthodes set, puis l'afficher à l'aide de la méthode toString ?

Vous aimerez peut-être aussi