El Modelo de Objetos - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

El Modelo de Objetos

Description:

Modularidad: paquetes de abstracciones agrupadas en unidades discretas ... La ejecuci n de un m todo puede devolver uno, ninguno o varios objetos. Modelo de Objetos ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 33
Provided by: ingjos
Category:

less

Transcript and Presenter's Notes

Title: El Modelo de Objetos


1
El Modelo de Objetos
  • -

2
Descomposición de un problema
  • Encontrar los conceptos centrales del problema
  • Definir las responsabilidades de cada concepto
  • Encontrar las colaboraciones entre los conceptos

3
Un programa Orientado a Objetos
Abstracciones (objetos)
Colaboraciones
4
Conceptos centrales
  • Abstracción características esenciales del
    objeto
  • Encapsulamiento ocultación de la implementación
  • Modularidad paquetes de abstracciones agrupadas
    en unidades discretas
  • Jerarquia clasificación de abstracciones

5
Conceptos centrales (II)
Abstracción
de
Agrupación de
Encapsulamiento
Modularidad
de
Jerarquía
6
Objetos
  • Un objeto representa una entidad individual
    identificable, real o abstracta, con un papel
    definido y preciso en el dominio del problema.
  • Todo objeto tiene estado, comportamiento e
    identidad.
  • Los objetos con comportamiento similar se agrupan
    en clases.

7
Estado de un Objeto
  • El 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
Estado
  • Los objetos son máquinas de estado su estado
    actual depende de un estado inicial y de la
    secuencia de estímulos recibidos.
  • Distintas secuencias de estímulos pueden implicar
    distintos estados finales, aunque el estado
    inicial sea el mismo

9
Comportamiento
  • Es la descripción de un objeto en términos de sus
    cambios de estado y paso de mensajes.
  • El comportamiento es la actividad visible del
    objeto
  • Está expresado por el conjunto de estímulos a los
    que un objeto es capaz de responder.

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

11
Contrato
  • Precondiciones son las cosas que deben
    asegurarse antes de invocar la operación
  • Poscondiciones son las cosas que el receptor
    garantiza al finalizar la ejecución de la
    operación
  • Invariantes son aquellas cosas que permanecen
    inmutables durante la ejecución de la operación

12
Excepciones
  • Son el mecanismo utilizado por un objeto para
    indicar que una operación solicitada no pudo
    cumplirse
  • Porque no se dan todas las precondiciones, o
  • porque no pueden asegurarse los invariantes, o
  • porque no pueden asegurarse las poscondiciones de
    la operación

13
Semántica de Mensajes
Precondiciones
Invariantes Poscondiciones
Respuesta
Mensaje (método parámetros )
Objeto
Excepciones
14
Tipos de Operaciones
  • Modificador (set) operación que altera todo o
    parte del estado del objeto.
  • Selector (get) operación que accede al estado
    interno del objeto pero no lo altera
  • Constructor operación que crea un objeto,
    inicializando su estado
  • Comportamientos específicos

15
Métodos
  • Un método es la implementación de un
    comportamiento dentro de un objeto.
  • Cada método tiene una visibilidad
  • público es accesible por otros objetos
  • privado sólo es utilizable por el propio objeto
  • protegido es utilizable por el objeto y los
    objetos instancias de clases derivadas

16
Métodos (II)
  • Cada método tiene una signatura con tres
    componentes
  • El objeto receptor
  • El nombre del método
  • Los argumentos
  • La ejecución de un método puede devolver uno,
    ninguno o varios objetos

17
Identidad
  • Es la propiedad de un objeto que lo distingue de
    todos los demás
  • ElementoPantalla x
  • GradienteTemperatura gi
  • La identidad de un objeto está indicada por su
    referencia el nombre de un objeto es la
    referencia del objeto físico

18
Ciclo de vida de un Objeto
  • Un objeto ocupa un espacio de memoria durante un
    tiempo determinado

Destrucción
Construcción
Utilización
Finalización
Persistencia
19
Persistencia
  • Es la propiedad de un objeto de sobrevivir en el
    tiempo al objeto que lo creó

20
Persistencia
  • resultados transitorios de la evaluación de
    expresiones
  • variables locales a un procedimiento
  • variables del espacio de memoria libre
  • datos de configuración usados en ! ejecuciones
    de una aplicación
  • datos usados por ! versiones de una aplicación
  • datos que sobreviven a una aplicación

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

22
Sincronización
  • Cuando un objeto envía un mensaje a otro se dice
    que ambos estan sincronizados.
  • Como distintos objetos pueden enviar mensajes
    simultáneamente a otro, aparece la concurrencia

23
Concurrencia
A
t0 m1
D (Pasivo)
B
t0 m2
C
Tres objetos activos (A, B y C) envían mensajes
simultáneos a un servidor pasivo (D)
t0 m3
24
Concurrencia
  • En el enlace de objetos activos con uno pasivo
    hay tres tipos de sincronización
  • Secuencial el o. pasivo funciona bien en
    presencia de un solo actor.
  • Vigilado los objetos activos deben respetar la
    exclusión mutua
  • Síncrono el o. pasivo garantiza ejecución
    correcta en un escenario de concurrencia

25
Relaciones
  • Asociación entre objetos para cumplir una
    responsabilidad determinada
  • Las asociaciones pueden ser uno a uno o uno a
    varios
  • Ejemplo un cliente utiliza los servicios de un
    servidor

Cliente
Servidor
Método
26
Roles
  • En una asociación, cada objeto cumple un rol
    determinado.
  • Actor opera sobre otros
  • Servidor otros operan sobre él
  • Agente es Actor en algunas asociaciones y
    Servidor en otras

27
Relaciones entre clases
  • Generalización/Especialización herencia
  • Todo/Parte agregación
  • Asociación dependencia semántica entre clases
    independientes

28
Polimorfismo
  • Es un concepto esencial que permite construir
    código reutilizable
  • Significa que objetos de clases distintas pueden
    entender mensajes iguales
  • El cliente envía un mismo mensaje a objetos
    diferentes. Cada receptor implementará un
    comportamiento específico

29
Polimorfismo (II)
Imágen
Cada objeto provee una implementación distinta de
Imprimir que produce el comportamiento buscado
por el cliente
imprimir
cliente
Texto
imprimir
30
Polimorfismo (III)
  • Mensajes que tienen sentido semejante deben tener
    el mismo nombre para maximizar la flexibilidad
    que otorga el polimorfismo.
  • El cliente delega en el objeto receptor la
    responsabilidad de proveer la implementación
    correcta

31
Enlace Dinámico
  • Dynamic 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
Enlace Dinámico (II)
  • La versión del mensaje a ejecutarse se
    determina dinámicamente en el momento de la
    ejecución, basada en la clase del objeto
    unaCuenta.
  • Este concepto está asociado al polimorfismo y a
    la herencia para otorgar gran flexibilidad al
    diseño orientado a objetos
Write a Comment
User Comments (0)
About PowerShow.com