UML
Chapitre 1. Introduction
Chapitre 2. Les concepts objets
2.1. Les objets
2.2. Les classes
2.3. Les relations entre classes
2.4. Les hiérarchie des classes
2.4.1. Généralisation et spécialisation
2.4.2. L'héritage
2.4.3. Le polymorphisme
Chapitre 3. La conception d'un système
Chapitre 4. Le modèle fonctionnel
Chapitre 5. Le modèle statique
Chapitre 6. Le modèle dynamique
Chapitre 7. UML et la gestion de projet
Chapitre 8. La phase de conception
Chapitre 9. Modèles d'implémentation
Exercices
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivanteWebographie du moduleGlossaire du module

2.4.1. Généralisation et spécialisation

En UML, la relation de généralisation exprime le fait que les éléments d'une classe sont aussi décrits par une autre classe.

Elle désigne alors une relation de classification entre un élément plus général et un élément plus spécifique. Elle se représente au moyen d'une flèche qui pointe de la classe la plus spécialisée vers la classe la plus générale. La tête de la flèche est un triangle vide (pour ne pas confondre avec la flèche de la navigation).

La flèche pointe la classe générale


Super-classes et sous-classes

On parle de super-classe dans le cas de la classe générale ainsi que de sous-classe pour la classe spécialisée.

Animal et Véhicule sont les classes générales
Chien et Voiture sont les classes spécialisées

Voici le code en C++ de la spécialisation Chien et Animal:
class Chien : public Animal
{//définition des membres supplémentaires (données (attributs) ou méthodes (opérations))
//ou redéfinition de membres existants dans Vehicule
};

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivanteWebographie du moduleGlossaire du module