La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Universidad Domingo Savio

Presentaciones similares


Presentación del tema: "Universidad Domingo Savio"— Transcripción de la presentación:

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 Lic. Richard Jiménez Velasco
¿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. 14/04/2017 Lic. Richard Jiménez Velasco

4 Lic. Richard Jiménez Velasco
¿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 14/04/2017 Lic. Richard Jiménez Velasco

5 Representación de objetos
En UML un objeto se representa de la siguiente forma: 14/04/2017 Lic. Richard Jiménez Velasco

6 Lic. Richard Jiménez Velasco
Representación de objetos Podemos utilizar un nombre genérico en lugar de nombres individuales, utilizando la siguiente notación. 14/04/2017 Lic. Richard Jiménez Velasco

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). 14/04/2017 Lic. Richard Jiménez Velasco

8 Ejemplos de abstracciones
Una persona Un alumno de la UPDS Un cliente de una tienda Una transacción bancaria Un Crédito hipotecario 14/04/2017 Lic. Richard Jiménez Velasco

9 Características fundamentales de los objetos
Estado Comportamiento Identidad 14/04/2017 Lic. Richard Jiménez Velasco

10 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

11 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

12 Representación del estado
14/04/2017 Lic. Richard Jiménez Velasco

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/04/2017 Lic. Richard Jiménez Velasco

14 El comportamiento de un objeto
14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

17 El comportamiento de un objeto
14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

19 Identidad de un objeto (Oid)
14/04/2017 Lic. Richard Jiménez Velasco

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 Oid’s y su manipulación resulta transparente. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

25 Categorías de comportamiento
14/04/2017 Lic. Richard Jiménez Velasco

26 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

27 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

28 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

30 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

31 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

32 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

33 Representación de una clase
14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

35 Lic. Richard Jiménez Velasco
Ejercicios Crear una clase para el objeto automóvil Crear una clase para el objeto Persona Practica en le laboratorio usando C# 14/04/2017 Lic. Richard Jiménez Velasco

36 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

37 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

39 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

40 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

45 Ejemplo de encapsulamiento
14/04/2017 Lic. Richard Jiménez Velasco

46 Lic. Richard Jiménez Velasco
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. 14/04/2017 Lic. Richard Jiménez Velasco

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. 14/04/2017 Lic. Richard Jiménez Velasco

48 Lic. Richard Jiménez Velasco
Ejercicios Implementar las clases Persona y Automóvil con sus respectivos métodos y mensajes 14/04/2017 Lic. Richard Jiménez Velasco

49 Lic. Richard Jiménez Velasco
Gracias 14/04/2017 Lic. Richard Jiménez Velasco


Descargar ppt "Universidad Domingo Savio"

Presentaciones similares


Anuncios Google