Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
💥 Du 22 au 24 novembre : Accès 100% GRATUIT
à la Bibliothèque Numérique ENI. Je m'inscris !
  1. Livres et vidéos
  2. UML 2.5
  3. Les concepts de l'approche par objets
Extrait - UML 2.5 Initiation, exemples et exercices corrigés (5e édition)
Extraits du livre
UML 2.5 Initiation, exemples et exercices corrigés (5e édition)
4 avis
Revenir à la page d'achat du livre

Les concepts de l'approche par objets

Introduction

Ce chapitre a pour objectif de vous faire découvrir les différents concepts et principes de l’approche objet qui sont à la base d’UML. Leur connaissance est indispensable pour comprendre les éléments utilisés dans la panoplie des diagrammes d’UML qui seront abordés dans les chapitres suivants.

Dans un premier temps, nous examinerons le concept d’objet, puis nous verrons comment le modéliser, par abstraction, en UML.

La notion de classes, représentation commune d’un ensemble d’objets similaires, sera introduite.

Nous évoquerons ensuite le principe d’encapsulation, masquage d’informations internes et propres au fonctionnement de l’objet.

Les relations de spécialisation et de généralisation introduisant les hiérarchies de classes seront décrites, ainsi que l’héritage, les classes concrètes et abstraites...

L’objet

Un objet est une entité identifiable du monde réel. Il peut avoir une existence physique (un cheval, un livre) ou ne pas en avoir (un texte de loi). Identifiable signifie que l’objet peut être désigné.

Exemple

Ma jument Jorphée 
Mon livre sur UML 
L'article 293B du code des impôts 

En UML, tout objet possède un ensemble d’attributs (sa structure) et un ensemble de méthodes (son comportement). Un attribut est une variable destinée à recevoir une valeur. Une méthode est un ensemble d’instructions prenant des valeurs en entrée et modifiant les valeurs des attributs ou produisant un résultat.

Même un objet statique du monde réel est toujours perçu comme dynamique. Ainsi en UML, un livre est perçu comme un objet capable de s’ouvrir lui-même à la énième page.

Tout système conçu...

L’abstraction

L’abstraction est un principe très important en modélisation. Elle consiste à retenir uniquement les propriétés pertinentes d’un objet pour un problème précis. Les objets utilisés en UML sont des abstractions d’objets du monde réel.

Exemple

On s’intéresse aux chevaux pour l’activité de course. Les propriétés d’aptitude de vitesse, d’âge et d’équilibre mental ainsi que l’élevage d’origine sont pertinentes pour cette activité et sont retenues.

On s’intéresse aux chevaux pour l’activité de trait. Les propriétés d’âge, de taille, de force et de corpulence sont pertinentes pour cette activité et sont retenues.

L’abstraction est une simplification indispensable au processus de modélisation. Un objet UML est donc une abstraction...

Les classes d’objets

Un ensemble d’objets similaires, c’est-à-dire possédant la même structure et le même comportement et constitués des mêmes attributs et méthodes, forme une classe d’objets. La structure et le comportement peuvent alors être définis en commun au niveau de la classe.

Chaque objet d’une classe, encore appelé instance de classe, se distingue par son identité propre et possède des valeurs spécifiques pour ses attributs.

Exemple

L’ensemble des chevaux constitue la classe Cheval qui possède la structure et le comportement décrits à la figure 3.1.

images/03ri01.png

Figure 3.1 - La classe Cheval

Le cheval Jorphée est une instance de la classe Cheval dont les attributs et leurs valeurs sont illustrés à la figure 3.2.

images/03ri02.png

Figure 3.2 - L’instance Jorphée

Le nom d’une classe apparaît au singulier. Il est constitué...

L’encapsulation

L’encapsulation consiste à masquer des attributs et des méthodes de l’objet vis-à-vis des autres objets. En effet, certains attributs et méthodes ont pour seul objectif des traitements internes à l’objet et ne doivent pas être exposés aux objets extérieurs. Encapsulés, ils sont appelés les attributs et méthodes privés de l’objet.

L’encapsulation est une abstraction puisque l’on simplifie la représentation de l’objet vis-à-vis des objets extérieurs. Cette représentation simplifiée est constituée des attributs et méthodes publics de l’objet.

La définition de l’encapsulation se fait au niveau de la classe. Les objets extérieurs à un objet sont donc les instances des autres classes.

Exemple

Lorsqu’il court, un cheval effectue différents mouvements comme...

La spécialisation et la généralisation

Une classe d’objets peut être introduite séparément des autres classes ou bien définie comme un sous-ensemble d’une autre classe, ce sous-ensemble devant toujours constituer un ensemble d’objets similaires.

Il s’agit alors d’une sous-classe d’une autre classe. Elle constitue ainsi une spécialisation de cette autre classe.

Exemple

La classe des chevaux est une sous-classe de la classe des mammifères.

La généralisation est la relation inverse de la spécialisation. Si une classe est une spécialisation d’une autre classe, cette dernière est une généralisation de la première. Elle en est sa surclasse.

Exemple

La classe des mammifères est une surclasse de la classe des chevaux.

La relation de spécialisation peut s’appliquer à plusieurs niveaux, donnant lieu à une hiérarchie...

L’héritage

L’héritage est la propriété qui fait bénéficier à une sous-classe de la structure et du comportement de sa surclasse. L’héritage provient du fait qu’une sous-classe est un sous-ensemble de sa surclasse. Ses instances sont également instances de sa surclasse. En conséquence, elles bénéficient de la structure et du comportement définis dans cette surclasse, en plus de la structure et du comportement introduits au niveau de la sous-classe.

Exemple

Soit un système où la classe Cheval est une sous-classe directe de la classe Animal, un cheval est alors décrit par la combinaison de la structure et du comportement issus des classes Cheval et Animal, c’est-à-dire avec les attributs âge, taille, poids, nom et élevage ainsi que les méthodes manger et courir. Cet héritage est illustré à...

Les classes abstraites et concrètes

L’examen de la hiérarchie présentée à la figure 3.4 montre qu’il existe deux types de classes dans la hiérarchie :

  • Des classes qui possèdent des instances, à savoir les classes Cheval et Chien. Ces classes sont appelées classes concrètes.

  • Des classes qui n’en possèdent pas directement, comme la classe Animal. En effet, si dans le monde réel, il existe des chevaux, des chiens, le concept d’animal reste, quant à lui, abstrait. Il ne suffit pas à définir complètement un animal. La classe Animal est appelée une classe abstraite.

Une classe abstraite a pour vocation de posséder des sous-classes concrètes. Elle sert à factoriser des attributs et des méthodes communs à ses sous-classes.

Exemple

La figure 3.6 reprend la hiérarchie en indiquant précisément...

Le polymorphisme

Le polymorphisme signifie qu’une classe (très généralement abstraite) représente un ensemble constitué d’objets différents car ils sont instances de sous-classes distinctes. Lors de l’appel d’une méthode de même nom, cette différence se traduit par des comportements différents (sauf dans le cas où la méthode est commune et héritée de la surclasse dans les sous-classes).

Exemple

Soit la hiérarchie de classes illustrée à la figure 3.7. La méthode caresser a un comportement différent selon que le cheval est instance de ChevalSauvage ou de ChevalDomestiqué. Dans le premier cas, le comportement sera un refus (se traduisant par un cabrement) alors que, dans le second, le comportement sera une acceptation.

Si l’on considère la classe Cheval dans son intégralité, on a donc un ensemble de chevaux...

La composition

Un objet peut être complexe et composé d’autres objets. L’association qui unit alors ces objets est la composition. Elle se définit au niveau de leurs classes, mais les liens sont bâtis entre les instances des classes. Les objets formant l’objet composé sont appelés composants.

Exemple

Un cheval est un exemple d’objet complexe. Il est constitué de ses différents organes (jambes, tête, etc.). La représentation graphique de cette composition se trouve à la figure 3.8.

images/03ri08.png

Figure 3.8 - Composition

La composition peut prendre deux formes :

  • la composition faible ou agrégation ;

  • la composition forte.

Dans la composition faible, les composants peuvent être partagés entre plusieurs objets complexes. Dans la composition forte, les composants ne peuvent être partagés et la destruction de l’objet composé entraîne la destruction...

La spécialisation des éléments : la notion de stéréotype en UML

Nous avons introduit dans ce chapitre les concepts de l’approche par objets. Nous introduisons maintenant les stéréotypes d’UML dont le but est de spécialiser ces concepts.

Un stéréotype est constitué d’un mot-clé explicitant cette spécialisation. Celui-ci est noté entre guillemets.

Cette spécialisation est réalisée indépendamment du système que l’on cherche à modéliser.

Exemple

Le concept de classe abstraite est un concept spécialisé du concept de classe. Nous avons vu qu’une classe abstraite est représentée comme une classe avec un nom en italique. Cette représentation graphique inclut un stéréotype implicite, mais il est également possible de ne pas mettre le nom de la classe en italique...

Conclusion

L’approche par objets forme la base d’UML. Elle est constituée de concepts (objets, classes, spécialisation, composition) et de principes (abstraction, encapsulation). Cet ensemble fait de l’approche par objets un véritable support pour la modélisation de systèmes complexes, et au-delà d’UML, pour leur programmation.

Nous verrons dans les chapitres suivants comment les différents diagrammes d’UML s’appuient sur les concepts et principes de l’approche par objets.