Généralisation
Pour symboliser l’héritage nous utiliserons une flèche avec une pointe en triangle vide (non-coloré).
Le sens de la flèche va du spécifique au générale (ou de l’enfant au parent). On appelle ce type de lien, une généralisation.
classDiagram class Animal{ #age : int #gender : string -ageMax: int +IsMamal() bool +Aging(age: int) void } Duck --|> Animal
En l’état le diagramme indique que la classe Duck hérite de Animal.
Redéfinition
Si je veux indiquer qu’une redéfinition existe, on récrira la méthode dans la classe enfant pour indiquer qu’elle est redéfinie.
Rappel
Pour qu’une méthode puisse être redéfinie, elle ne peut pas être privée. Elle doit être publique ou protégée.
classDiagram class Animal{ #age : int #gender : string -ageMax: int +IsMamal() bool +Aging(age: int) void } class Duck { +Duck(ageMax: int) +Aging(age: int) void } Duck --|> Animal
Maintenant, écrivez le diagramme de classes de l’ exercice exercice sur les trains, en incluant aussi la voiture et le vélo.