Resumen relaciones.odt

download Resumen relaciones.odt

If you can't read please download the document

Transcript of Resumen relaciones.odt

DependenciaRelacin de uso que declara que un cambio en la especificacin de una clase puede afectar a otra que la utiliza, pero no necesariamente a la inversa. Se suele representar incluyendo los ficheros con include.

AsociacinDescribe un grupo de enlaces con estructura y semntica comunes. | Abstraccin de los enlaces que existen entre los objetos.

Propiedades de las asociacionesCardinalidad: Indica el nmero de clases que intervienen en la asociacin

Multiplicidad: Especifica el nmero de objetos que puede haber en cada extremo de la asociacin (0..1, 1, *, 1..*, ...).

Navegabilidad: Determina el sentido en el que se puede recorrer la asociacin. Las asociaciones pueden ser unidireccionales o bidireccionales. Las relaciones unidireccionales se representan con una flecha que indica la direccin de la misma.

AgregacinRepresenta una asociacin asimtrica en la que uno de los extremos cumple un papel predominante con respecto al otro: se trata de una relacin del tipo todo-parte. Los componentes forman parte del agregado y pueden o no existir fuera del agregado, y pertenecer o no a otros agregados.Puede ser de tres tipos:Fija: Su estructura es fija: el nmero y tipo de las partes componentes estn predeterminados (un ordenador puede ser un agregado de monitor, torre, ratn y teclado, y slo puede haber un componente de cada).

Variable: El nmero de niveles de agregacin es fijo, pero no el nmero de partes.

Recursiva (cmo no, la recursividad este ao esta en todas partes, nos va a salir hasta por las orejas): Contiene un ejemplar de esa misma clase de agregado, siendo el nmero potencial de niveles equilibrado. Ejemplo: Un programa podra ser un agregado de bloques de cdigo, y un bloque de cdigo puede ser un agregado de cero o ms instrucciones y, adems, de cero o ms bloques que a su vez estarn formados por bloques e instrucciones.

Las agregaciones normalmente son unidireccionales, pero no tienen que serlo obligatoriamente.

Diferencias entre agregacin y asociacinAgregacin es un concepto ms fuerte que el de asociacin:Hay transitividad: si A es un agregado de B y B es un agregado de C, entonces A es parte de C. En cambio, en una asociacin si A se asocia con B y B se asocia con C, eso no implica que A y C estn relacionados.

La agregacin es antisimtrica: si el objeto A es parte de B, B no es parte de A.

ComposicinCaso particular de agregacin en que los componentes estn fsicamente contenidos en el agregado. La composicin implica una limitacin de la multiplicidad en el lado del agregado, que habr de ser 0..1. Es importante notar que, en la composicin, si se elimina el todo, se elimina la parte. Por esto ltimo, la forma ms comn de representar una composicin en la clase compuesta es usando un objeto de la clase parte (y no un puntero al mismo).Una composicin puede ser igualmente bidireccional o unidireccional (si es unidireccional, la relacin se dar en el sentido compuesto componente).

Atributo de enlacePropiedad de los enlaces de una asociacin.

Clase de asociacinRepresentada como una clase unida a la asociacin mediante una lnea discontinua, se trata de una clase que aade atributos y operaciones a una asociacin, y que adems puede relacionarse directamente con otras clases.

CalificacinUna asociacin calificada relaciona dos clases de objetos y un calificador. El calificador permite distinguir objetos individuales en un extremo varios, reduciendo la multiplicidad efectiva de la asociacin.Una asociacin calificada puede considerarse como una forma de asociacin ternaria.Se implementa con un diccionario si la multiplicidad es 1, o con un diccionario multivalor si la multiplicidad es varios

GeneralizacinRelacin de clasificacin entre un elemento ms general y otro ms especfico. La clase de nivel superior se llama superclase o clase base y la de nivel inferior subclase o clase derivada.Una clase sin superclase es una clase raz, y una clase sin clases derivadas es una clase hoja.La generalizacin/especializacin se implementa mediante la herencia, que puede ser simple o mltiple.

PolimorfismoLa forma ms clara de polimorfismo en la POO se consigue redefiniendo una operacin con la misma signatura a lo largo de una misma jerarqua de clases

Clases abstractasClase que posee subclases pero de la que no pueden existir objetos por ser abstracta (virtual e igualada a cero) alguna de sus operaciones, que es especificada o declarada pero no definida. As, cada subclase no abstracta de una clase abstracta deber proporcionar una definicin para cada operacin abstracta heredada. Estas clases proporcionan un mecanismo para favorecer la reutilizacin.

RealizacionesRelacin que permite modelar la conexin entre una interfaz y una clase.

InterfazColeccin de operaciones que sirven para especificar un servicio de una clase. Permite separar la especificacin de la implementacin.Al contrario que las clases, las interfaces no especifican ninguna estructura, no pueden tener atributos y no pueden tener ninguna implementacin, aunque si puede tener cualquier nmero de operaciones. Por tanto, la diferencia entre una clase abstracta y una interfaz es que la primera puede implementar operaciones (mientras tenga al menos una operacin abstracta) y atributos, mientras que la segunda no.