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
};