Chapitre2
Diagramme de Classe
2.1 Introduction
Le diagramme de classes constitue un élément
très important de la modélisation : il permet de définir
quelles seront les composantes du système final : il ne permet en
revanche pas de définir le nombre et l'état des instances
individuelles. Néanmoins, on constate souvent qu'un diagramme de classes
proprement réalisé permet de structurer le travail de
développement de manière très efficace; il permet aussi,
dans le cas de travaux réalisés en groupe (ce qui est
pratiquement toujours le cas dans les milieux industriels), de séparer
les composantes de manière à pouvoir répartir le travail
de développement entre les membres du groupe. Enfin, il permet de
construire le système de manière correcte.
2.2 Les paquetages
Les paquetages permettent typiquement de définir des
sous-systèmes. Un soussystème est formé d'un ensemble de
classes ayant entre elles une certaine relation logique.
Un paquetage fait l'objet d'une réalisation largement
indépendante, et peut être confiée à un groupe, ou
à un individu n'ayant pas un contact étroit avec les responsables
d'autres paquetages.
Rôles
· Ils regroupent des éléments de
modélisation.
· Ils permettent d'encapsuler des éléments de
modélisation.
· Ils permettent de structurer un système en
catégories sous-systèmes.
Figure 2.1 - Notation des paquetages.
2.3 Les interfaces
Les interfaces représentent l'élément le
plus abstrait du diagramme de classes.
public interface Test1 {
void f (int n) ; // signature d'une méthode f void
g () ; // signature d'une méthode g
}
|
|
Figure2.2 - Notation des interfaces.
2.4 Classes
2.4.1 Classes abstraites
Une classe abstraite ne peut donc pas être
utilisée pour fabriquer des instances d'objets; elle sert uniquement de
modèle, que l'on pourra utiliser pour créer des classes plus
spécialisées par dérivation (héritage).
Figure 2.3 - Classes abstraites.
2.4.2 Classes non abstraites
Une classe est représentée par un rectangle
séparée en trois parties:
- la première partie contient le nom de la classe, - la
seconde contient les attributs de la classe,
- la dernière contient les méthodes de la
classe.
2.4.3 Les attributs
Pour définir un attribut[Laurent] , il faut
préciser son nom suivi du caractère « : » et du type de
l'attribut.
Le modificateur d'accès de l'attribut doit
précéder le nom et peut prendre les valeurs suivantes :
Caractère
|
Rôle
|
Description
|
+
|
accès public
|
Tous les objets et les classes ont accès à cet
attribut.
|
#
|
accès protégé
|
Seules les classes issues de classes filles (héritage) ont
accès à cet attribut.
|
-
|
accès privé
|
Seule la classe elle-même a accès à cet
attribut.
|
~
|
néant (droit de paquetage)
|
Accès possible depuis toutes les classes du même
paquetage
|
Tableau 2.1 : Les modificateurs d'accès
d'attributs
Les attributs privés et protégés ne sont
accessibles qu'à travers des méthodes publiques (getters et
setters).
|