La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

El Modelo de Objetos -. Modelo de Objetos2 Descomposición de un problema zEncontrar los conceptos centrales del problema zDefinir las responsabilidades.

Presentaciones similares


Presentación del tema: "El Modelo de Objetos -. Modelo de Objetos2 Descomposición de un problema zEncontrar los conceptos centrales del problema zDefinir las responsabilidades."— Transcripción de la presentación:

1 El Modelo de Objetos -

2 Modelo de Objetos2 Descomposición de un problema zEncontrar los conceptos centrales del problema zDefinir las responsabilidades de cada concepto zEncontrar las colaboraciones entre los conceptos

3 Modelo de Objetos3 Un programa Orientado a Objetos Abstracciones (objetos) Colaboraciones

4 Modelo de Objetos4 Conceptos centrales zAbstracción: características esenciales del objeto zEncapsulamiento: ocultación de la implementación zModularidad: paquetes de abstracciones agrupadas en unidades discretas zJerarquia: clasificación de abstracciones

5 Modelo de Objetos5 Conceptos centrales (II) Abstracción Encapsulamiento Jerarquía Modularidad de Agrupación de

6 Modelo de Objetos6 Objetos zUn objeto representa una entidad individual identificable, real o abstracta, con un papel definido y preciso en el dominio del problema. zTodo objeto tiene estado, comportamiento e identidad. zLos objetos con comportamiento similar se agrupan en clases.

7 Modelo de Objetos7 Estado de un Objeto zEl estado de un objeto está constituído por todas sus propiedades estáticas y los valores actuales de cada una de ellas: Propiedad Valor

8 Modelo de Objetos8 Estado zLos objetos son máquinas de estado: su estado actual depende de un estado inicial y de la secuencia de estímulos recibidos. zDistintas secuencias de estímulos pueden implicar distintos estados finales, aunque el estado inicial sea el mismo

9 Modelo de Objetos9 Comportamiento zEs la descripción de un objeto en términos de sus cambios de estado y paso de mensajes. zEl comportamiento es la actividad “visible” del objeto zEstá expresado por el conjunto de estímulos a los que un objeto es capaz de responder.

10 Modelo de Objetos10 Operaciones zLlamamos operación a la acción de un objeto sobre otro a fin de provocar un comportamiento zLas operaciones pueden expresarse en términos de un contrato, donde el cliente solicita un servicio asegurando precondiciones y espera poscondiciones

11 Modelo de Objetos11 Contrato zPrecondiciones: son las cosas que deben asegurarse antes de invocar la operación zPoscondiciones: son las cosas que el receptor garantiza al finalizar la ejecución de la operación zInvariantes: son aquellas cosas que permanecen inmutables durante la ejecución de la operación

12 Modelo de Objetos12 Excepciones zSon el mecanismo utilizado por un objeto para indicar que una operación solicitada no pudo cumplirse: yPorque no se dan todas las precondiciones, o yporque no pueden asegurarse los invariantes, o yporque no pueden asegurarse las poscondiciones de la operación

13 Modelo de Objetos13 Semántica de Mensajes Objeto Excepciones Mensaje (método + parámetros ) Respuesta PrecondicionesInvariantes + Poscondiciones

14 Modelo de Objetos14 Tipos de Operaciones zModificador (set) operación que altera todo o parte del estado del objeto. zSelector (get) operación que accede al estado interno del objeto pero no lo altera zConstructor: operación que crea un objeto, inicializando su estado zComportamientos específicos

15 Modelo de Objetos15 Métodos zUn método es la implementación de un comportamiento dentro de un objeto. zCada método tiene una visibilidad: ypúblico: es accesible por otros objetos yprivado: sólo es utilizable por el propio objeto yprotegido: es utilizable por el objeto y los objetos instancias de clases derivadas

16 Modelo de Objetos16 Métodos (II) zCada método tiene una signatura con tres componentes: yEl objeto receptor yEl nombre del método yLos argumentos zLa ejecución de un método puede devolver uno, ninguno o varios objetos

17 Modelo de Objetos17 Identidad zEs la propiedad de un objeto que lo distingue de todos los demás: xElementoPantalla x; xGradienteTemperatura gi; zLa identidad de un objeto está indicada por su referencia: el nombre de un objeto es la referencia del objeto físico

18 Modelo de Objetos18 Ciclo de vida de un Objeto zUn objeto ocupa un espacio de memoria durante un tiempo determinado ConstrucciónUtilizaciónFinalización Destrucción Persistencia

19 Modelo de Objetos19 Persistencia zEs la propiedad de un objeto de sobrevivir en el tiempo al objeto que lo creó

20 Modelo de Objetos20 Persistencia yresultados transitorios de la evaluación de expresiones yvariables locales a un procedimiento yvariables del espacio de memoria libre ydatos de configuración usados en != ejecuciones de una aplicación ydatos usados por != versiones de una aplicación ydatos que ‘sobreviven’ a una aplicación

21 Modelo de Objetos21 Objetos activos y pasivos zLos activos exhiben comportamiento sin que nadie actúe sobre ellos: son autónomos. zLos pasivos sólo cambian de estado cuando reciben estímulo externo zLos sistemas secuenciales tienen sólo un objeto activo, mientras que los sistemas concurrentes tienen varios.

22 Modelo de Objetos22 Sincronización zCuando un objeto envía un mensaje a otro se dice que ambos estan sincronizados. zComo distintos objetos pueden enviar mensajes simultáneamente a otro, aparece la concurrencia

23 Modelo de Objetos23 Concurrencia B A C D (Pasivo) Tres objetos activos (A, B y C) envían mensajes simultáneos a un servidor pasivo (D) t0: m1 t0: m2 t0: m3

24 Modelo de Objetos24 Concurrencia zEn el enlace de objetos activos con uno pasivo hay tres tipos de sincronización: ySecuencial: el o. pasivo funciona bien en presencia de un solo actor. yVigilado: los objetos activos deben respetar la exclusión mutua ySíncrono: el o. pasivo garantiza ejecución correcta en un escenario de concurrencia

25 Modelo de Objetos25 Relaciones zAsociación entre objetos para cumplir una responsabilidad determinada zLas asociaciones pueden ser ‘uno a uno’ o ‘uno a varios’ yEjemplo: un ‘cliente’ utiliza los servicios de un ‘servidor’ ClienteServidor Método

26 Modelo de Objetos26 Roles zEn una asociación, cada objeto cumple un rol determinado. yActor: opera sobre otros yServidor: otros operan sobre él yAgente: es Actor en algunas asociaciones y Servidor en otras

27 Modelo de Objetos27 Relaciones entre clases zGeneralización/Especialización: herencia zTodo/Parte: agregación zAsociación: dependencia semántica entre clases independientes

28 Modelo de Objetos28 Polimorfismo zEs un concepto esencial que permite construir código reutilizable zSignifica que objetos de clases distintas pueden ‘entender’ mensajes iguales zEl cliente envía un mismo mensaje a objetos diferentes. Cada receptor implementará un comportamiento específico

29 Modelo de Objetos29 Polimorfismo (II) cliente imprimir Imágen Texto Cada objeto provee una implementación distinta de ‘Imprimir’ que produce el comportamiento buscado por el cliente

30 Modelo de Objetos30 Polimorfismo (III) zMensajes que tienen sentido semejante deben tener el mismo nombre para maximizar la flexibilidad que otorga el polimorfismo. zEl cliente delega en el objeto receptor la responsabilidad de proveer la implementación correcta

31 Modelo de Objetos31 Enlace Dinámico zDynamic Binding en inglés, es la asociación entre el objeto receptor y el mensaje que se le envía, producida en el momento de la ejecución de la aplicación: unaCuenta.extraer( 100 ); Este código invocará el método extraer() del objeto unaCuenta. Esto supone que la clase a la que pertenece el objeto unaCuenta tiene un método extraer(), o su superclase, o las ‘ascendientes’

32 Modelo de Objetos32 Enlace Dinámico (II) zLa ‘versión’ del mensaje a ejecutarse se determina dinámicamente en el momento de la ejecución, basada en la clase del objeto unaCuenta. zEste concepto está asociado al polimorfismo y a la herencia para otorgar gran flexibilidad al diseño orientado a objetos


Descargar ppt "El Modelo de Objetos -. Modelo de Objetos2 Descomposición de un problema zEncontrar los conceptos centrales del problema zDefinir las responsabilidades."

Presentaciones similares


Anuncios Google