En el modelado orientado a objetos utilizando Unified Modeling Language ( UML) , la generalización se refiere a la extracción de los elementos comunes a través de múltiples clases , conocidas como subclases y sus asociaciones compartidas en una clase general o superclase. De acuerdo con Hoffer , George y Valacich en " Diseño moderno Sistemas y Análisis , " en el modelado UML , la generalización se representa " como una línea sólida de la subclase de la superclase , con un triángulo hueco en el extremo de , y apuntando hacia , la superclase. "Uso de la generalización en UML de modelado es ventajoso porque promueve la herencia, la reutilización, la extensibilidad y la simplicidad. Herencia
generalización , una subclase hereda los atributos de una superclase . Esto es beneficioso , ya que proporciona una forma de distinguir atributos comunes de los atributos únicos . Sin embargo, desde una subclase es más específico y una superclase es más general , un niño o subclase puede heredar los atributos y el comportamiento de un padre o superclase - pero no a la inversa . Por ejemplo , si el animal es un superclase y el perro es una subclase de la superclase animal, se puede indicar que cada perro es un animal , pero no cada animal es un perro.
Reutilización
< br >
al permitir que las clases para compartir atributos y comportamientos , la práctica de la generalización en UML de modelado comunes permite volver a utilizar , ya que da lugar a la duplicación mínima. Desde subclases heredan atributos generales de una superclase , es posible reutilizar los atributos y el comportamiento de la superclase para producir múltiples subclases . Además, tener clases de objetos con atributos genéricos y comportamientos puede ser valioso en el desarrollo del sistema , ya la reutilización es posible a través de múltiples iniciativas de desarrollo del sistema sin tener que reinventar la rueda cada vez .
Extensibilidad
Generalización soporta extensibilidad porque una vez que se ha definido una superclase , puede continuar para crear atributos y comportamientos que son distintos de los atributos y comportamientos que superclase ' en una subclase. Como ejemplo , utilizando el ejemplo superclase animal, puede agregar subclases adicionales, como una subclase gato a la superclase animal sin tener que volver a definir las características que hacen a un gato un animal. Además, la superclase animal puede llegar a ser una subclase de la superclase seres vivos y una nueva subclase planta puede ser creada por los seres vivos superclase .
Simplicity
generalización , clases de objetos son más fáciles de manejar , ya que están simplificando el proceso de clasificación de objetos predefiniendo comunes para las subclases vez a través de una superclase . A continuación , sólo tiene que definir atributos distintos a medida que agrega subclases de la superclase. Como resultado de este mayor nivel de abstracción, que está utilizando un menor número de objetos , lo que reduce la complejidad asociada a la estructuración de una jerarquía de clases en UML de modelado.