# data[].attributes.headline
Mónica: las relaciones entre clases hacen posible encapsular en cada clase  su propia información ( atributos y métodos). De esta manera cada clase es responsable de crearse, mantenerse y darse de baja.  

# data[].attributes.subject
Mónica: las relaciones entre clases hacen posible encapsular en cada clase  su propia información ( atributos y métodos). De esta manera cada clase es responsable de crearse, mantenerse y darse de baja.  

# data[].attributes.headline
Monica:  un ejemplo de herencia podria ser: Tenemos  la clase Persona con sus atributos nombre, apellido, Direccion.  Y la  clases Cliente con atributo mesQueCompraMas, CajaPreferida Empleado con atributo horario, sueldo. 

# data[].attributes.subject
Monica:  un ejemplo de herencia podria ser: Tenemos  la clase Persona con sus atributos nombre, apellido, Direccion.  Y la  clases Cliente con atributo mesQueCompraMas, CajaPreferida Empleado con atributo horario, sueldo. 

# data[].attributes.body
Se dice que Cliente y Empleado heredan de Persona. O sea ambas tienen los atributos y metodos de personas, y ademas sus propios atributos y metodos

# data[].attributes.body
Una relación de clases puede indicar algún tipo de compartición
Una relación entre clases puede indicar algún tipo de conexión semántica.
Los tres grandes tipos de relaciones entre clases son:

- Generalización / especialización (es-un)
Propiedades comunes
- Agregación (todo-parte//tiene-un)
Representa a los objetos compuestos
- Asociación.
Está asociado a… Utiliza a ….  Binaria o n-aria

# data[].attributes.body
La generalización es la propiedad que permite compartir información entre dos entidades evitando la redundancia.

El proceso inverso de la generalización por el cual se definen nuevas clases a partir de otras ya existentes se denomina especialización.

# data[].attributes.body
Asociación:

La asociación se podría definir como el momento en que dos objetos se unen para trabajar juntos y así, alcanzar una meta.

Un punto a tomar muy en cuenta es que ambos objetos son independientes entre sí. Para validar la asociación, la frase “Usa un”, debe tener sentido:

El ingeniero usa una computadora

El cliente usa tarjeta de crédito.

Dependencia:

La dependencia entre dos clases declara que una de ellas necesita conocer acerca de la clase a la que utilizará.

La frase para determinar esta relación es clase A utiliza a la clase B.

dependencia
Dependencia: A depende de B
Ejemplo
impresora-papel

Para este caso Impresora usa al papel en un método llamado imprimir.

# data[].attributes.body
*Herencia: crear una clase general (Clase base) primero y luego crear “subclases” (Clases derivadas) mas especificas que re-utilicen el código de la clase general.
*Asociación: bidireccionales (Las dos clases están enteradas de la existencia de la relación.) o unidireccionales (Dos clases están relacionadas, pero solamente una sabe de la existencia de la relación.)
*Agregación: La agregación es un tipo de asociación que indica que una clase es parte de otra clase (composición débil). Los componentes pueden ser compartidos por varios compuestos (de la misma asociación de agregación o de varias asociaciones de agregación distintas). La destrucción del compuesto no conlleva la destrucción de los componentes.
*Composición: Composición es una forma fuerte de composición donde la vida de la clase contenida debe coincidir con la vida de la clase contenedor. Los componentes constituyen una parte del objeto compuesto. De esta forma, los componentes no pueden ser compartidos por varios objetos compuestos. La supresión del objeto compuesto conlleva la supresión de los componentes.
*Clases de Asociación: Son clases que se incluyen en relaciones más complejas para incluir información valiosa sobre la relación. La nueva clase es una clase normal. Se ejemplifica por medio de una mezcla de línea sólida (clases a relacionar) unida a una línea punteada (nueva clase).

# data[].attributes.body
- Asociación: Las instancias de ambas clases están relacionadas
- Asociación direcciónal: una clase conoce a otra pero no viceversa
- Multiplicidad: una clase contiene multiples instancias de otra
- Agregación: una clase esta cumpuesta de instancias de otra
- Herencia: una clase es un caso particular de una mas general

# data[].attributes.body
Las relaciones entre distintas clases indican cómo se comunican los objetos de esas clases entre sí. Hay tres tipos de relaciones. asociación (conexión entre clases), dependencia (relación de uso) y generalización/especialización (relaciones de herencia). Las relaciones de asociación pueden ser unidireccionales o bidireccionales, involutivas, agregación, composición. A su vez tienen una multiplicidad que determina cuantos objetos de cada tipo intervienen en la relación (nro. de instancias de una clase que se relacionan con UNA instancia de la otra clase. Cada asociación tiene 2 multiplicidades (una por cada extremo de la relacion). Las relaciones de dependencia son más débiles que las relaciones de asociación y las de herencia son las relaciones entre superclases y sus subclases. El comportamiento de una categoría general es aplicable a una categoría particular y las subclases heredan características de las clases de las que derivan y añaden características especificas que las diferencian.

# data[].attributes.body
la herencia es la relación existente entre dos o más clases. La herencia marca una relación de jerarquía entre objetos, en la cual, una clase principal (madre) puede ser heredada por otras
secundarias (hijas), las cuales adquieren “por herencia” los métodos y atributos de la primera (clase principal).

# data[].attributes.headline
Monica: Una asociación es una relación estructural que especifica que los objetos de un elemento están conectados con los objetos de otro. Se representa en el UML con una linea constante , normalmente direccionada. Que cuenta con una cardinalidad y muchas veces un rol.

# data[].attributes.subject
Monica: Una asociación es una relación estructural que especifica que los objetos de un elemento están conectados con los objetos de otro. Se representa en el UML con una linea constante , normalmente direccionada. Que cuenta con una cardinalidad y muchas veces un rol.

# data[].attributes.body
por ejemplo La clase Continentes esta asociada con la clase Paises. Un continente se asocia a muchos paises y el rol podria ser Contiene()

# data[].attributes.body
polimorfismo (en POO) es la capacidad que tienen ciertos lenguajes para hacer que, al enviar el mismo mensaje (o, en otras palabras, invocar al mismo método) desde distintos objetos, cada uno de esos objetos pueda responder a ese mensaje (o a esa invocación) de forma distinta.

# data[].attributes.body
Asociación: Es una relación estructural que describe un conjunto de enlaces, los cuales son conexiones entre objetos.

Dependencia: Es una relación estructural que describe un conjunto de enlaces, los cuales son conexiones entre objetos.

Generalización: Poder asociar a los objetos  con características y operaciones que puedan heredarse entre ellos, siempre y cuando estos estén ligados a un entorno en común.

Realización: Es una relación semántica entre clasificadores, donde un clasificador especifica un contrato que otro clasificador garantiza que cumplirá.

# data[].attributes.body
Herencia

En Programación Orientada a Objetos, la herencia es la relación existente entre dos o más clases. La herencia marca una relación de jerarquía entre objetos, en la cual, una clase principal (madre) puede ser heredada por otras
secundarias (hijas), las cuales adquieren “por herencia” los métodos y atributos de la primera (clase principal). 

# data[].attributes.body
Multiplicidad de la Relación: indica el número de instancias de una clase que se asocian con las instancias de la otra clase.

Tipos de multiplicidad:

uno_a_uno

uno_a_muchos

muchos_a_muchos

# data[].attributes.headline
Monica: las relaciones entre clases es la manera en que ellas se comunican

# data[].attributes.subject
Monica: las relaciones entre clases es la manera en que ellas se comunican

# data[].attributes.body
Investigar acerca de las relaciones entre clases y los tipos de relaciones que existen.