La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Clases y objetos.

Presentaciones similares


Presentación del tema: "Clases y objetos."— Transcripción de la presentación:

1 Clases y objetos

2 Programación Avanzada
Objetos Modela entidades del mundo real. Captura abstracciones de fenómenos complejos. Representar artefactos de software como pilas, gráficos, etc. Universidad de Sonora Programación Avanzada

3 Programación Avanzada
Objetos El problema se ve como objetos que interactúan entre ellos. Universidad de Sonora Programación Avanzada

4 Programación Avanzada
Ejemplo Enviar flores. Suponga que Juan desea llevarle flores a una amiga en otra ciudad María. Como Juan no puede llevarlas personalmente, le encarga a una florista (Rosa) el envío. María recibe sus flores. Universidad de Sonora Programación Avanzada

5 Programación Avanzada
CB4 Ejemplo Enviar flores. Juan le solicita a Rosa un servicio. Rosa sabe cómo prestarle el servicio a Juan. Juan sabe que Rosa presta el servicio que el necesita. Rosa es responsable de prestarle el servicio adecuadamente a Juan. Juan desconoce qué le implica a Rosa prestarle el servicio. Universidad de Sonora Programación Avanzada

6 Programación Avanzada
Ejemplo Enviar flores: María Mensajero Arreglista Productor Juan Rosa Recolector Florista Local Universidad de Sonora Programación Avanzada

7 Programación Avanzada
Conceptos básicos En programación orientada por objetos un programa es una comunidad de agentes (objetos) que interactúan entre ellos. Cada objeto tiene un rol en la solución del problema. Cada objeto provee un conjunto de servicios (o métodos) Los servicios de un objeto son usados por otros objetos. Universidad de Sonora Programación Avanzada

8 Programación Avanzada
Conceptos básicos Los objetos se comunican entre ellos a través de mensajes: Un mensaje encapsula la petición de un servicio. El receptor del mensaje presta el servicio y devuelve una respuesta al que solicitó el servicio. Universidad de Sonora Programación Avanzada

9 Conceptos básicos ¿Qué sabe hacer la ventana?
Ventana ejemplo Un objeto ventana gráfica ¿Qué sabe hacer la ventana? ¿Cuáles servicios ofrece? La ventana se sabe: cerrar abrir cambiar de tamaño pintar mover Además, sabe: dónde está, si está visible o no ... ¿Cómo se le solicitan los servicios? Universidad de Sonora Programación Avanzada

10 ¿Cómo se le solicitan los servicios?
Conceptos básicos Ventana ejemplo Objetos figuras geométricas: un triángulo un rectángulo un círculo Las figuras geométricas se saben: Pintar agrandar .. Además, saben: dónde están, si están visibles o no ... ¿Qué saben hacer las figuras geométricas gráficas? ¿Cómo se le solicitan los servicios? Universidad de Sonora Programación Avanzada

11 Programación Avanzada
Conceptos básicos Ventana ejemplo La ventana tiene la responsabilidad de solicitar a las figuras geométricas que se pinten Las figuras geométricas tienen la responsabilidad de saberse pintar y de hacerlo cuando se lo soliciten La ventana tiene que saber cómo hacer la solicitud. La figura geométrica tuvo que haber hecho público cómo usar sus servicios Universidad de Sonora Programación Avanzada

12 Programación Avanzada
Conceptos básicos La comunicación se hace a través del envío de mensajes Universidad de Sonora Programación Avanzada

13 Programación Avanzada
Conceptos básicos Modelar consiste en identificar (abstraer) qué objetos hay en el mundo del problema, cómo son, cómo se comportan y cómo se relacionan. Universidad de Sonora Programación Avanzada

14 Programación Avanzada
Clases Son prototipos o modelos que definen las variables y métodos comunes a todos los objetos de cierto tipo. Universidad de Sonora Programación Avanzada

15 Programación Avanzada
Clases Ejemplos: Clase automóvil. Clase persona. Clase vuelo (de avión). Universidad de Sonora Programación Avanzada

16 Programación Avanzada
Clases Las clases: Tienen atributos. Tienen un estado. Ofrecen servicios. Universidad de Sonora Programación Avanzada

17 Programación Avanzada
Ejemplo La clase automóvil. Atributos: Marca, modelo, color, año, dueño, etc. Estado: Prendido o apagado. Servicios: Prende auto, apaga auto. Universidad de Sonora Programación Avanzada

18 Programación Avanzada
Ejemplo Clase vuelo de avión. Atributos: Número de vuelo, hora, línea aérea, etc. Estado: Activo, cancelado, demorado, etc. Servicios: Cancela vuelo, activa vuelo, cambia hora, etc. Universidad de Sonora Programación Avanzada

19 Programación Avanzada
¡Importante! Los servicios afectan y pueden cambiar los valores de los atributos y/o del estado de la clase. Universidad de Sonora Programación Avanzada

20 Programación Avanzada
Objetos Los objetos son instancias de una clase. Los objetos tienen valores específicos para los atributos y el estado. Universidad de Sonora Programación Avanzada

21 Programación Avanzada
Ejemplo Objeto: vuelo 222 Atributos: Número de vuelo: 222 Hora de salida: 9AM Línea aérea: Patito Airlines. Estado: Demorado. Servicios: Ofrece los servicios de su clase. Universidad de Sonora Programación Avanzada

22 Programación Avanzada
Interface Los servicios de las clases son descritos por una interface. En Java los servicios se le llaman métodos. Universidad de Sonora Programación Avanzada

23 Programación Avanzada
Diagramas Se usan diagramas para describir los atributos de la clase y los métodos que los afectan. Universidad de Sonora Programación Avanzada

24 Programación Avanzada
Interface Nombre de la clase Atributos/Campos/Datos Métodos/Servicios/Interface Universidad de Sonora Programación Avanzada

25 Programación Avanzada
Conclusión El envío de mensajes es la única forma para que un objeto realice una operación. Las operaciones son la única forma para cambiar el estado de los datos. Cuando esto se cumple, se dice que el estado interno del objeto (el valor de sus datos) está encapsulado; éste no puede ser manipulado directamente desde el exterior y su representación concreta es invisible. Universidad de Sonora Programación Avanzada


Descargar ppt "Clases y objetos."

Presentaciones similares


Anuncios Google