Dans la modélisation orientée objet en utilisant le langage de modélisation unifié ( UML) , la généralisation se réfère à l' extraction d'éléments communs dans de multiples catégories , appelées sous-classes, et leurs associations partagées dans une catégorie générale ou superclasse. Selon Hoffer, George et Valacich en « Conception de systèmes informatiques et de l'analyse moderne», la modélisation UML , la généralisation est représenté " comme une ligne solide de la sous-classe de la superclasse , avec un triangle creux à la fin de et pointant vers , la superclasse. "Utilisation de généralisation dans la modélisation UML est avantageuse car elle favorise l'héritage , la réutilisabilité , extensibilité et la simplicité . Héritage
généralisation , une sous-classe hérite des attributs d'une superclasse. Cela est bénéfique car il fournit un moyen de distinguer les attributs communs à partir des attributs uniques. Cependant, depuis une sous-classe est plus spécifique et une superclasse est plus générale , un enfant ou du sous- héritent des attributs et comportements d'un parent ou superclasse - mais pas l'inverse . Par exemple, si l'animal est une superclasse et le chien est une sous-classe de la superclasse des animaux, vous pouvez indiquer que chaque chien est un animal, mais pas chaque animal est un chien.
Réutilisation
< br >
en permettant à des classes de partager les attributs et les comportements , la pratique de la généralisation dans la modélisation UML communs permet de réutiliser , car il en résulte une duplication minimale. Depuis les sous-classes héritent des attributs généraux d'une superclasse , il est possible de réutiliser les attributs et les comportements de la superclasse pour produire plusieurs sous-classes. En outre, avoir des classes d'objets avec des attributs et comportements génériques peut être utile dans le développement du système, car la réutilisation est possible à travers de multiples efforts de développement du système sans avoir à réinventer la roue à chaque fois .
Extensibilité
Généralisation soutient extensibilité car une fois que vous avez défini une superclasse , vous pouvez continuer à créer des attributs et comportements qui sont distinctes des attributs et comportements de cette superclasse dans une sous-classe . Pour illustrer , en utilisant l'exemple superclasse animal, vous pouvez ajouter des sous-classes supplémentaires comme une sous-classe de chat à la superclasse des animaux sans avoir à redéfinir les caractéristiques qui font un chat un animal. En outre, la super- animal peut devenir une sous-classe de la classe de base et les êtres vivants d'une nouvelle sous-classe de la plante peut être créé sous les êtres vivants superclasse.
Simplicité
généralisation , classes d'objets sont plus faciles à gérer parce que vous êtes en simplifiant le processus de classification d'objets en prédéfinissant communs pour les sous-classes une fois par une superclasse. Ensuite, il vous suffit de définir des attributs distincts que vous ajoutez des sous-classes de la superclasse. En raison de ce niveau d'abstraction plus élevé , vous utilisez moins d'objets , ce qui réduit la complexité liée à la structuration d'une hiérarchie de classes dans la modélisation UML .