Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porConsuelo Redondo Blanco Modificado hace 8 años
1
Introducción al Diseño Orientado a Objetos Paradigma Orientado a Objetos
2
Todos los fenómenos (problemas a resolver) se pueden analizar como un conjunto de objetos que interaccionan. persona saca tarjetaDeCrédito de su cartera y la introduce en cajeroAutomático alumno pregunta una duda a maestro, maestro explica tema y todos son felices fotón incide en electrón, electrón absorbe energía y cambia de nivel energético ash lanza pokebola a charmander debilitado, charmander capturado
3
Paradigma Orientado a Objetos Ejercicio. Identifica la interacción entre objetos de los ejemplos de abajo. Identifica el objeto (¿Quien?) y la acción (¿Que?) Comprar un refresco en una máquina dispensadora Comprar un refresco con “el Don” Sacar un libro de la biblioteca ¿En qué fue distinto este análisis del análisis de procesos con un diagrama de flujo?
4
Objetos Un objeto es un ente que tiene un estado dado por el valor de sus atributos, un comportamiento y con el que se puede interaccionar por medio de operaciones El gato blanco tiene hambre y maulla a su humano para que lo alimente. usuario amplifica región de mapa, mapa activa conexiónInternet para obtener mas detalles
5
Objetos El estado de un objeto, en un momento dato, está dado por el valor que tienen sus atributos (características). gato: blanco, hambriento mapa: escala 1:50 conexiónInternet: inactiva El estado de un objeto puede cambiar como resultado de la interacción con otros objetos. gato: blanco, sin hambre mapa: escala 1:30 conexiónInternet: activa
6
Atributos Podemos identificar y nombrar los atributos que conforman el estado de un objeto. gato: color, estaHambriento mapa: escala, regionActiva conexiónInternet: estado, dirección No todos los atributos de un objeto pueden ser observados desde “fuera” del mismo ¿Se puede ver directamente el color de un gato? ¿Se puede ver directamente que el gato está hambriento?
7
Atributos Los atributos que podemos ver desde fuera del objeto se les conoce como propiedades. Los atributos que no podemos ver siguen existiendo, y le sirven al objeto para definir su comportamiento No podemos ver directamente que el gato está hambriento, pero ese estado impulsa al gato a maullar por alimento
8
Atributos Cuando interactuamos con un objeto, no nos interesan todos sus atributos, sino lo que puede hacer por nosotros. No nos interesa en si saber si una conexiónInternet está activa, solo queremos que nos traiga los datos de la página. Internamente conexiónInternet verifica si estáActiva. Si lo está, obtiene los datos, si no, toma la dirección y hace lo necesario para activarse y después los obtiene.
9
Atributos Ejercicio. Identifica atributos y propiedades de los siguientes objetos. Maquina expendedora de refrescos Libro Algunos objetos sólo presentan propiedades. Pues no tienen un comportamiento para el cual necesiten atributos intrínsecos.
10
¿Cómo se traduce esto en código?
11
Comportamiento Cada objeto define su comportamiento, que son operaciones que el objeto puede realizar. gato maulla, come conexiónInternet se conecta, obtiene los datos de una página, se desconecta maquinaExpendedora enfría los refrescos, recibe monedas, entrega refresco
12
Comportamiento Al igual que los atributos, hay operaciones para interactuar con el objeto y otras que el objeto realiza como parte de su comportamiento “privado”. maquinaExpendedora verificaExistencia de refrescos y en caso de existir entrega refresco a persona
13
Comportamiento Algunas operaciones pueden modificar el estado del objeto, alterando los valores de sus atributos. entregar refresco hace que el contador de refrescos disminuya. devolver datos de una página hace el estado de conexiónInternet pase a “activa”
14
Comportamiento Ejercicio. Identifica las operaciones que pueden realizar los siguientes objetos. Cajero automático Mapa interactivo Avatar de Pokémon Go ¿Cuáles operaciones sirven para interactuar con el objeto? ¿Cómo modifican el estado del objeto?
15
¿Cómo se traduce esto en código?
16
Interacción entre objetos - Mensajes Un sistema complejo requiere de la interacción de varios objetos. Los objetos se comunican entre sí, detonando comportamientos uno del otro. persona inserta moneda en máquinaExpendedora cajeroAutomático entrega efectivo a persona aplicacionDePagos solicita verificación de huella digital a sensor del teléfono
17
Mensajes Los mensajes son llamadas a operaciones de un objeto, que pueden recibir parámetros. Un objeto A solicita a un objeto B que ejecute una operación por medio de un mensaje. El mensaje identifica el destinatario (objeto que ejecutará la operación), el nombre de la operación, los parámetros de entrada y el posible parámetro de regreso
18
Mensajes persona solicita a máquinaExpendedora ejecutar la operación entregar refresco del tipoManzana. La operación devuelve un refresco Destinatario: máquinaExpendedora Operación: entregar Parámetros: tipoManzana Parámetro de regreso: refresco
19
Mensajes Ejercicio. Identifica los mensajes que se intercambiarán en las siguientes interacciones entre objetos. juan quiere obtener $300 del cajeroAutomático zombie ataca a un lanza chícharos (pVz) bob98 quiere ser amigo de aliceAA en la red social
20
¿Cómo se traduce esto en código?
21
Métodos Los objetos declaran los mensajes que pueden manejar (recibir) por medio de métodos. Un método se conforma de: Nombre Parámetros de entrada Parámetros de salida o tipo de regreso El código que ejecuta la acción
22
Interfaz Las propiedades y los mensajes que puede recibir, conforman la interfaz de un objeto. Solo podemos interactuar con el objeto usando los métodos definidos en su interfaz.
23
Interfaz Ejercicio. Define la interfaz de una ventana del entorno gráfico del sistema operativo. ¿Qué propiedades expone? ¿Qué métodos tiene?
24
Identidad de un objeto Dentro del sistema cada objeto es único (alicia, 18 años, 1.60m, habla, camina) (beto, 18 años, 1.75m, habla, camina) (carolina, 19 años, 1.71m, habla, camina) (misifus, blanco, 2.3Kg, maulla, camina) (Mr. Mistofeles, negro con blanco, 2.5Kg, maulla, camina) Cada objeto tiene un estado y un comportamiento Hay objetos que tienen el mismo, o muy similar, conjunto de atributos y operaciones que pueden realizar
25
Clases Es un concepto de la POO que nos permite definir la estructura de objetos con características similares
26
¿Cómo se traduce esto en código?
27
Clases Ejercicio. Diseña clases para los siguientes objetos. (laser, blanco y negro, 5ppm, imprime) (inyección, color, 3ppm, imprime) (térmica, blanco y negro, 8ppm, imprime) (abrir, alt+O, abre archivo) (guardar, alt+S, guarda) (cerrar, alt+C, cerrar programa)
28
Crear objetos Tomando la estructura de una clase podemos crear distintos objetos de ese tipo. Se dice que un objeto es una “instancia” de una clase. La clase sirve como un plano para construir los objetos que tendrán los atributos y métodos definidos por ella. nombre: alicia edad: 18 estatura: 1.60 nombre: beto edad: 18 estatura: 1.75 nombre: carolina edad: 19 estatura: 1.71
29
¿Cómo se traduce esto en código?
30
Paradigma Orientado a Objetos Ejercicio. Diseña las clases necesarias para que funcione el siguiente código.
31
Clases con distintas implementaciones Las clases definen su comportamiento por medio de la implementación de sus métodos. Las distintas clases que representan los botones* de un menú saben como comportarse cuando son seleccionadas (se ejecuta su método acción) * Distintas clases, no distintos objetos
32
Interfaces Definen los métodos que deben implementar las clases. Distintas clases pueden implementar la misma interfaz. Se dice que una interfaz tiene distintas implementaciones. Si una clase declara implementar una interfaz, se obliga a definir todos sus métodos.
33
¿Cómo se traduce esto en código?
35
Interfaces Las clases permiten crear objetos con los mismos atributos y el mismo comportamiento (implementación de los métodos). Las interfaces permiten crear clases que prometen exponer los mismos métodos (aunque los implementen de manera distinta) Las interfaces son el elemento más importante del Diseño Orientado a Objetos. Permiten que modifiquemos fácilmente el comportamiento de una parte del sistema. Pues podemos cambiar la implementación, sin afectar resto del sistema el cual sigue viendo la misma interfaz.
36
Interfaces - Ejemplo Algoritmos de huella electrónica. Permiten obtener una cadena de bits de tamaño fijo a partir de una cadena de bits de cualquier tamaño. Un pequeño cambio en la cadena de bits de entrada produce un gran cambio en la cadena de salida Sirven para asegurar que un archivo no fue modificado
37
Interfaces - Ejemplo Existen diferentes algoritmos de huella electrónica MD5 (https://www.tools4noobs.com/online_php_functions/md5/) SHA-1 (https://www.tools4noobs.com/online_php_functions/sha1/) Las implementaciones pueden variar en velocidad de calculo, fortaleza, reducir colisiones, etc.
38
Interfaces - Ejemplo
39
Mejores prácticas de la POO Programar respecto a interfaces, no respecto a clases Cuando se implemente software se deben tomar en cuenta sólo los métodos declarados en las interfaces, no los métodos de las clases. De esta manera será más fácil cambiar la implementación, pues solo hay que sustituir un objeto por otro que implemente la misma interfaz.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.