Title: La orientacin a objetos
1La orientación a objetos
2Razones
- Estabilidad del modelado respecto a las entidades
del mundo real. - Construcción iterativa facilitada por el
acoplamiento débil entre sus componentes. - Reutilización
- Simplicidad del modelo (objetos, mensajes,
clases, herencia y polimorfismo).
3Construcción de programas (I)
- Se ha de tener en cuenta
- Coordinación de las partes
- Distintos niveles de abstracción
- Efecto zoom (interés por detalles más y menos
abstractos).
4Construcción de programas (II)
- La construcción de un programa es una serie de
iteraciones división-unión - Dividir para comprender
- Unir para construir
- Paradoja Hay que dividir para unir
5Para dividir normalmente se usa un criterio
funcional
- Los mecanismos integradores son la función y la
jerarquÃa. - Esto es aconsejable si las funciones están bien
identificadas y son estables en el tiempo.
6La orientación a objetos
- Considera un sistema como un total organizado con
elementos solidarios que se definen unos en
función de los otros. - Propone la descomposición no solo teniendo en
cuenta lo que hace el sistema sino en la
integración de los que el sistema es y hace.
7- La orientación a objetos tiene como objetivo
modelar las propiedades estáticas y dinámicas del
entorno o ámbito del problema. - De esta forma percibimos el mundo real y los
fenómenos que en él ocurren. - Asà se corresponden el espacio del problema y el
de la solución. - Se conserva la estructura y el comportamiento del
sistema analizado.
8- La ventaja en el caso de la orientación a objetos
es - Las funciones se representan por formas
colaborativas entre los objetos del sistema. - El acoplamiento se hace dinámico.
- Por tanto las evoluciones funcionales son
asumibles.
9- Se debe organizar de manera que se gestiona la
complejidad por la descomposición. - La distinción de los componentes va emparejada
con su integración. - La potencialidad de la orientación a objetos
proviene de su capacidad de descomposición e
integración. - Los mecanismos de integración afectan a la
estática y dinámica del sistema.
10- La orientación a objetos tiene su potencial en
- La capacidad de agrupar lo que se ha separado.
- Construir lo complejo a partir de lo simple
- Integrar estática y dinámicamente los elementos
de un sistema.
11Los objetos
- Son entidades abstractas del mundo real para su
control y simulación. - La representación abstracta del objeto
informática es una imagen simplificada del objeto
del mundo real. - Se acostumbra a considerar los objetos como seres
animados con vida propia (nacen, viven y mueren).
12- Unidad atómica formada por la unión de estado y
comportamiento. - La encapsulación proporciona una cohesión interna
fuerte y un acoplamiento externo débil. - Para manipular los objetos se utilizan los
mensajes.
13El estado de un objeto (I)
- Contiene los valores de sus atributos (variables)
cuya información cualifica al objeto. - Existe un rango de valores para los atributos
- El estado en un instante dado corresponde a una
selección de valores de entre todos los posibles
en cada atributo.
14El estado de un objeto (II)
- El estado evoluciona con el tiempo.
- Hay componentes constantes (marca del automóvil,
CV, etc.). - Generalmente el estado de un objeto es variable.
15El comportamiento de un objeto
- Describe las acciones y reacciones de los
objetos. - Cada operación es un átomo de comportamiento.
- Las operaciones se desencadenan por estÃmulos
externos (mensajes), enviados por otros objetos. - El estado y el comportamiento están relacionados.
16La identidad
- Caracteriza la existencia de un objeto.
- Le distingue de los demás de manera no ambigua
independientemente de su estado (dos objetos se
pueden distinguir a pesar de tener atributos
idénticos). - En el modelado no se representa la identidad de
manera especÃfica. - El concepto de identidad es independiente del de
estado.
17Restricciones de realización
- Los objetos pueden poseer carácterÃsticas más
informáticas relacionadas con la distribución de
los programas o las B. Datos - Tres restricciones
- Persistencia de objetos
- Transmisión de objetos
- Objetos espejo.
18Persistencia de objetos
- Es la capacidad de un objeto de perdurar una vez
concluida la ejecución del programa. - Es necesario el almacenamiento del estado del
objeto en el que se produce el paro de ejecución. - Será necesaria la carga del estado del objeto al
reiniciar (activación).
19Transmisión de objetos
- Se trata de enviar un objeto mediante un medio de
comunicación de un espacio de trabajo a otro. - El envÃo no se efectúa sino que se activan
mecanismos para crear un clon en el segundo
espacio de trabajo y suprimir el que queda en el
primero.
20Objetos espejos
- Son una alternativa a la transmisión de objetos.
- Un objeto se comporta como otro con el que está
sincronizado. - El cliente manipula el espejo como si manipulara
el objeto remoto.
21Comunicaciones entre objetos
- Los sistemas informáticos son asociaciones de
objetos que trabajan en común para obtener el
objetivo que la aplicación se propone. - El comportamiento de la aplicación dependerá de
la comunicación entre objetos. - Veremos
- CategorÃas de comportamiento
- Mensajes y categorÃas.
22CategorÃas de mensajes (I)
- Existen tres categorÃas Actor, Agente y
Servidor. - Un actor es un objeto que constituyen el orÃgen
de una interacción, poseen un hilo de ejecución
(thread) y pasan el testigo a otros objetos
(petición o mensaje).
23CategorÃas de mensajes (II)
- So el fin de una interacción y destinatarios del
mensaje. - Generalmente son objetos pasivos que esperan que
otros objetos requieran de sus servicios.
24CategorÃas de mensajes (III)
- Reúnen caracterÃsticas de los actores y
servidores. - Pueden actuar por iniciativa propia o porque otro
objeto lo solicita. - AÃslan clientes de servidores mediante una
indirección en el mensaje. - Un cliente puede conectar con un servidor que no
conoce.
25Los mensajes (I)
- Es la unidad de comunicación entre objetos, los
vincula dinámicamente separados en el proceso de
descomposición. - Es, a la vez, un agente de unión y división.
- Es quien delega tareas y las integra
dinámicamente.
26Los mensajes (II)
- Agrupan a la vez flujos de control y flujos de
datos dentro de una misma entidad.
27CategorÃas de mensajes
- Constructores (crean objetos).
- Destructores
- Selectores.- Devuelven todo o parte del estado
del objeto. - Modificadores.- Modifican todo o parte del estado
del objeto. - Iteradores.- Visitan el estado de un objeto.
28Las clases
- La clase define el ámbito de definición de un
conjunto de objetos. - Cada objeto pertenece a una clase.
- Las generalidades están contenidas en las clases
y las particularidades en los objetos. - Un objeto se construye a partir de una clase
instanciándolo.
29Representaciones gráficas de clases
30Relaciones entre clases
- Existen dos relaciones entre clases
- La asociación
- La agregación
- Jerárquicamente
- Generalización
- Especificación
31Asociación
- Expresa una conexión semántica bidireccional
entre clases. - Es una abstracción de los enlaces que existen
entre los objetos instancias de esas clases. - Se representan como los enlaces y se diferencian
por el contexto del diagrama.
32Agregación
- Es una forma particular de asociación pero con
acoplamiento fuerte y asimétrico - Una de las clases cumple una función más
importante que la otra. - Permite representar asociaciones amo/esclavo,
todo/partes, compuestos / componentes.