lunes, 15 de junio de 2009

MERE E/G

Generalización

El concepto de herencia define otro tipo de relación entre clases (generalización) donde una clase comparte estructura y/o comportamiento con una o más clases. El término superclase se refiere a la clase que guarda la información común, mientras que el término subclase se refiere a cada uno de los descendientes de la superclase.

A partir de las relaciones de generalización se crea una jerarquía de abstracción en la cual una subclase puede heredar de una o más superclases. Es por ésto que a la herencia también se le suele denominar jerarquía ``es una'' o ``clase de''.

Una subclase hereda todos los atributos, operaciones y relaciones definidos en alguna de sus superclases, de forma que los atributos y operaciones comunes se definen en el nivel más alto de la jerarquía. Las subclases se pueden ampliar (especializar) con atributos y operaciones adicionales, que se aplican sólo a ese nivel de la jerarquía. Además una subclase puede tener su propia implementación de una operación de la superclase (polimorfismo).

Ya que la herencia no es una relación entre objetos diferentes, este tipo de relaciones no se nombra, no se utilizan roles, ni se expresa multiplicidad, utilizándose la relación generalización sin adornos.

Existen dos formas básicas de identificar herencia en un modelo, por generalización o por especialización:

Generalización:
La generalización proporciona la capacidad de crear superclases que encapsulan la estructura y el comportamiento común a varias clases.

Especialización:
La especialización proporciona la capacidad de crear subclases que representan refinamientos de una superclase, generalmente a nadiendo estructura y comportamiento a las nuevas subclases. Se a naden subclases para especializar el comportamiento de clases ya existentes. Las operaciones heredadas pueden ser reescritas por una subclase, lo que conocemos como polimorfismo, pero por el contrario, la subclase no debería proporcionar una estructura o comportamiento menor que el de su superclase.

Disyunción
(del latín disiunctĭo, -ōnis 'desunión') significa separar o desunir. Tiene significados en lógica, filosofía, semántica lingüística y sintaxis, sin embargo todos son muy similares y se refieren a un operador sobre dos o más elementos que resulta en verdad si y sólo si al menos un elemento es verdadero.

No hay comentarios:

Publicar un comentario