Presentaci - PowerPoint PPT Presentation

About This Presentation
Title:

Presentaci

Description:

Title: Presentaci n de PowerPoint Author: Jorge Last modified by: Richard Created Date: 1/1/1601 12:00:00 AM Document presentation format: Presentaci n en pantalla ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 50
Provided by: Jorg185
Category:

less

Transcript and Presenter's Notes

Title: Presentaci


1
Universidad Domingo Savio
Facultad de Ciencias y Tecnología de la
Información Carrera Ingeniería en Redes y
Telecomunicaciones Materia Programación
I Programación Orientada a Objetos
2
Objetos y Clases
3
Qué es un objeto?
  • Los objetos del mundo real que nos rodean nacen,
    viven y mueren.
  • Los objetos informáticos definen una
    representación abstracta de las entidades del
    mundo real y virtual con el objeto de simularlos
    o controlarlos.
  • Los objetos pueden representar entidades
    materiales (con masa) o conceptos.

4
Qué es un objeto?
  • Un objeto es una unidad atómica formada de un
    estado y de un comportamiento.
  • Proporciona una relación de encapsulación que
    asegura a la vez una fuerte cohesión interna y un
    débil acoplamiento con el exterior.
  • El papel y responsabilidad de un objeto se
    manifiestan por el envío de mensajes, dentro de
    un escenario de comunicación

5
Representación de objetos
  • En UML un objeto se representa de la siguiente
    forma

6
Representación de objetos
  • Podemos utilizar un nombre genérico en lugar de
    nombres individuales, utilizando la siguiente
    notación.

7
Los objetos son abstracciones
  • Una abstracción es una simplificación.
  • Sólo incluyen características esenciales.
  • Ignoran los elementos no relevantes.
  • Una abstracción se define para señalar un punto
    de vista (de un observador).

8
Ejemplos de abstracciones
  • Una persona
  • Un alumno de la UPDS
  • Un cliente de una tienda
  • Una transacción bancaria
  • Un Crédito hipotecario

9
Características fundamentales de los objetos
  • Estado
  • Comportamiento
  • Identidad

10
El estado de un objeto
  • El estado de un objeto abarca todas las
    propiedades (normalmente estáticas) del mismo más
    los valores actuales (normalmente dinámicos) de
    cada una de esas propiedades.Booch
  • El estado agrupa los valores instantáneos de
    todos los atributos o propiedades de un objeto.
  • Un atributo es una información que cualifica al
    objeto que la contiene.

11
El estado de un objeto
  • Cada atributo toma un valor en un ámbito de
    definición dado.
  • El estado de un objeto, en un instante dado,
    corresponde a una selección de valores, entre
    todos los posibles valores de los diferentes
    atributos.
  • El estado evoluciona con el tiempo.
  • El estado de un objeto en un instante dado es la
    consecuencia de sus comportamientos pasados.

12
Representación del estado
13
El comportamiento de un objeto
  • El comportamiento describe las acciones y
    reacciones de un objeto.
  • Agrupa todas las competencias del objeto.
  • Se representa mediante operaciones.
  • Las operaciones de un objeto son consecuencia de
    un estímulo externo, representado en forma de un
    mensaje enviado por otro objeto.

14
El comportamiento de un objeto
15
El comportamiento de un objeto
  • Términos del comportamiento de un objeto
  • Smalltalk un objeto envía un mensaje a otro
    objeto.
  • C Un objeto invoca una función miembro de otro
    objeto.
  • Un mensaje es una operación que un objeto realiza
    sobre otro.
  • Los términos operación y mensaje son
    intercambiables.

16
El comportamiento de un objeto
  • El estado y el comportamiento de un objeto están
    relacionados.
  • El comportamiento depende del estado.
  • El estado es modificado por el comportamiento.

17
El comportamiento de un objeto
18
Identidad de un objeto (Oid)
  • Todos los objetos poseen una identidad que
    caracteriza su propia existencia.
  • La identidad permite distinguir los objetos de
    forma no ambigua independientemente de su estado.
  • La identidad es un concepto que no se representa
    de manera específica en el modelado.

19
Identidad de un objeto (Oid)
20
Identidad de un objeto (Oid)
  • Cada objeto posee un Oid, que tiene las
    siguientes características
  • Constituye un identificador único y global para
    cada objeto dentro del sistema.
  • Es determinado en el momento de la creación del
    objeto.
  • Es independiente de la localización física del
    objeto provee completa independencia de
    localización.
  • Es independiente del estado de un objeto.
  • No cambia durante toda la vida del objeto.
  • Un Oid no se reutiliza aunque el objeto deje de
    existir.
  • No se tiene ningún control sobre los Oids y su
    manipulación resulta transparente.

21
Identidad de un objeto (Oid)
  • Frecuentemente la identidad se obtiene a partir
    de un identificador procedente del ámbito del
    problema.
  • Los lenguajes de objetos utilizan generalmente
    apuntadores para implementar los identificadores.
  • La clave primaria en el modelo relacional de
    bases de datos es otra forma de implementar la
    identificación.

22
Comunicación entre objetos
  • Aplicaciones Sociedad de objetos colaborando.
  • Los objetos trabajan en sinergia a fin de
    realizar las funciones de la aplicación.
  • El comportamiento global de una aplicación se
    basa en la comunicación de los objetos que la
    componen.

23
Comunicación entre objetos.
  • Los objetos interactúan para realizar las
    funciones de la aplicación.
  • La naturaleza de las interacciones, esto es la
    dirección de los mensajes intercambiados,
    describe la manera general el comportamiento de
    los objetos
  • En este sentido, existen tres categorías de
    comportamiento Actores, Servidores y Agentes.

24
Categorías de comportamiento
  • Un Actor es un objeto que siempre es el origen de
    una interacción.
  • Un Servidor es un objeto que nunca es el origen
    de una interacción. Siempre son el destinatario
    en un mensaje.
  • Un Agente es al mismo tiempo un actor y un
    servidor. Reune las características de los
    actores y servidores.
  • Son objetos que pueden interactuar con otros
    objetos al mismo tiempo, por iniciativa propia o
    a consecuencia de una solicitud externa.

25
Categorías de comportamiento
26
El concepto de mensaje
  • Los objetos interactúan entre sí.
  • Se comunican intercambiando mensajes.
  • El mensaje es la unidad de comunicación entre
    objetos.
  • Es el soporte de una relación de comunicación que
    vincula, de forma dinámica, los objetos que han
    sido separados por el proceso de descomposición.

27
El Concepto de mensaje
  • Un mensaje asegura la delegación de las tareas y
    garantiza el respeto de las restricciones.
  • Los mensajes representan acontecimientos
  • Permite reconstituir una función de la aplicación
    por la puesta en marcha de la colaboración de un
    grupo de objetos.

28
El concepto de mensaje
  • Un mensaje agrupa los flujos de control y los
    flujos de datos dentro de una entidad única.
  • Es un concepto abstracto que puede implementarse
    según numerosas variantes llamada de
    procedimiento, evento discreto, interrupción,
    datagrama UDP, búsqueda dinámica, etc.

29
Categorías de mensajes
  • Los constructores, que crean objetos.
  • Los destructores, que destruyen objetos.
  • Los selectores, que devuelven todo o parte del
    estado de un objeto.
  • Los modificadores, que cambian todo o parte del
    estado de un objeto.
  • Los iteradores, que recorren una colección de
    objetos.

30
Las Clases
  • El mundo está constituido por objetos numerosos y
    muy diversos, algunos de gran complejidad.
  • Para reducir la complejidad y comprender mejor el
    mundo real, el ser humano tiende a agrupar los
    elementos que se parecen.
  • Agrupar los objetos a partir de criterios de
    semejanza da lugar a la clasificación.
  • Así, el ser humano ha clasificado los animales,
    las plantas, los insectos, etc.

31
La Clase
  • La clase es una descripción abstracta de un
    conjunto de objetos.
  • La clase identifica las características comunes
    de un conjunto de objetos.
  • La clase describe el dominio de definición de un
    conjunto de objetos.
  • Cada objeto pertenece a una clase.

32
La Clase
  • Las generalidades están contenidas en la clase y
    las particularidades en los objetos.
  • Los objetos se construyen a partir de un proceso
    conocido como instanciación.
  • Así, todo objeto es una instancia de una clase.

33
Representación de una clase
34
Descripción de las Clases
  • Se separa en dos partes
  • La especificación de una clase, también conocida
    como interfaz, que describe el dominio de
    definición y las propiedades de las instancias de
    esta clase (tipo de datos)
  • La implementación de la clase, que describe cómo
    se realiza la especificación.

35
Ejercicios
  • Crear una clase para el objeto automóvil
  • Crear una clase para el objeto Persona
  • Practica en le laboratorio usando C

36
La noción de contrato
  • Una clase firma un contrato con otras clases.
  • Una clase se compromete a proporcionar los
    servicios publicados en su especificación
  • Las demás clases se comprometen a no hacer uso de
    otros conocimientos que no sean los descritos en
    la especificación.

37
Encapsulamiento
  • La separación de la especificación y la
    implementación de una clase eleva el nivel de
    abstracción.
  • La especificación de una clase define la parte
    visible de los objetos.
  • Los detalles se ocultan en la implementación.
  • La ocultación de los detalles se conoce como
    encapsulamiento.

38
Beneficios del encapsulamiento
  • Los datos encapsulados están protegidos de
    accesos improcedentes, lo que permite garantizar
    su integridad.
  • Los clientes de una abstracción no dependen de la
    implementación de la abstracción, sino únicamente
    de su especificación.

39
Encapsulamiento
  • Los valores de los atributos de un objeto se
    encapsulan en el objeto y no pueden ser
    manipulados directamente por los demás objetos.
  • Sólo a través de las operaciones declaradas en la
    especificación de la clase se pueden realizar los
    accesos a los atributos de un objeto.

40
Reglas de visibilidad
  • Completan y precisan la noción de
    encapsulamiento.
  • Flexibilizan el grado de encapsulamiento y de
    protección, favoreciendo a las clases usuarios
    muy particulares, designadas en la especificación
    de la clase proveedora.

41
Niveles de acceso (Privado)
  • El nivel privado es el nivel más fuerte.
  • Consta de la parte privada de la clase.
  • Es totalmente opaca y sólo las clases amigas
    (en términos de C) pueden acceder a los
    atributos colocados en la parte privada.

42
Niveles de acceso (Protegido)
  • El nivel protegido suaviza ligeramente el nivel
    de encapsulamiento.
  • Los atributos colocados en la sección protegida
    de una clase son visibles a la vez para las
    clases amigas y las clases derivadas de la
    clase proveedora.
  • Para todas las demás clases, los atributos no son
    visibles.

43
Niveles de acceso (Público)
  • El nivel público es el nivel más bajo.
  • Los atributos en la sección pública son visibles
    a todas las clases.
  • Rompe el encapsulamiento.

44
Representación de los niveles de acceso
  • Los niveles público, protegido y privado son
    representados gráficamente en las clases mediante
    los caracteres , y -, respectivamente.

45
Ejemplo de encapsulamiento
46
Atributos de una clase
  • Los atributos de una clase pueden especificarse
    mediante la siguiente sintaxis
  • Visibilidad nombre tipo valor_predeterminado
  • Visibilidad Nivel de acceso del atributo (, -,
    ).
  • Nombre Identificador del atributo.
  • Tipo Indica el tipo o dominio del atributo
  • Valor_predeterminado Valor inicial del atributo,
    opcional.

47
Operaciones de una clase
  • La sintaxis de una operación es
  • Visibilidad nombre(lista_parámetros)
    tipo_de_valor_de_retorno cadena_de_propiedades
  • Visibilidad Nivel de acceso de la operación (,
    -, ).
  • Nombre Identificador de la operación.
  • Lista_parámetros Parámetros opcionales, cuya
    sintaxis es la misma que la de los atributos.
  • Tipo_de_valor_de_retorno Especificación opcional
    dependiente del LP.
  • Cadena_de_propiedades Indica valores de
    propiedad que se aplican a la operación
    específica.

48
Ejercicios
  • Implementar las clases Persona y Automóvil con
    sus respectivos métodos y mensajes

49
  • Gracias
Write a Comment
User Comments (0)
About PowerShow.com