Está en la página 1de 2

Las relaciones entre las clases se dan por Herencia, Asociación, Agregación, Composición

y Dependencia (uso).
Agregación y composición
Composición por valor: relación estática, donde el tiempo de vida del objeto incluido está
condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es comúnmente
llamada Composición (el Objeto base se construye a partir del objeto incluido, es decir, es
“parte/todo”).
Agregación por referencia: tipo de relación dinámica, en donde el tiempo de vida del
objeto incluido es independiente del que lo incluye. Este tipo de relación es comúnmente
llamada Agregación (el objeto base utiliza al incluido para su funcionamiento).
Asociación: La relación entre clases, permite asociar objetos que colaboran entre sí. Cabe
destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no depende
del otro.
Dependencia: Representa un tipo de relación muy particular, en la que una clase es
instanciada (su instanciación es dependiente de otro objeto/clase).
La herencia es un mecanismo por el que se pueden crear nuevas clases a partir de otras
existentes,
• heredando, y posiblemente modificando, y/o añadiendo operaciones
• heredando y posiblemente añadiendo atributos
Observar que una operación o atributo no puede ser suprimido en el mecanismo de
herencia.
Ventajas:
+Mejora el diseño Permite modelar relaciones de tipo “es un” que se dan en los problemas
que se pretenden resolver
+Permite la reutilización del código Los métodos de la clase padre se reutilizan en las clases
hijas
+Facilita la extensión de las aplicaciones
Añadir una nueva subclase no requiere modificar ninguna otra clase de nuestro diseño.
Principal desventaja:
- Aumenta el acoplamiento: Las subclases están íntimamente acopladas con la superclase
El polimorfismo, en programación orientada a objetos, se refiere a la posibilidad de acceder
a un variado rango de funciones distintas a través de la misma interfaz. O sea, un mismo
identificador puede tener distintas formas (distintos cuerpos de función, distintos
comportamientos) dependiendo del contexto en el que se halle.
El polimorfismo es muy parecido o más bien tiene sus bases en la capacidad de herencia
que presentan los lenguajes orientados a objetos como es el caso de java.

También podría gustarte