Introducción al Diseño Orientado a Objetos Paradigma Orientado a Objetos.

Slides:



Advertisements
Presentaciones similares
1 Clase 10: orientación a objetos (1ª parte) iic1102 – introducción a la programación.
Advertisements

VISUALBEE. VisualBee es un software que te permite mejorar tus presentaciones mismos viejos en una presentación llena de gráficos de gran alcance. Para.
JCLIC. ¿QUE ES JCLIC? JClic es una herramienta para la creación de diversos tipos de actividades educativas.
TRABAJAR CON JCross. Introducción de los datos del ejercicio Al arrancar JCross nos encontramos una cuadrícula en blanco.
¿Qué es un Diagrama de Flujo? UN DIAGRAMA DE FLUJO, TAMBIÉN LLAMADO FLUJOGRAMA DE PROCESOS O DIAGRAMA DE PROCESOS, REPRESENTA LA SECUENCIA O LOS PASOS.
Microsoft Office 2007 Introducción a Access. Una base de datos es una colección de información relacionada entre si y almacenada en una o más computadoras.
CONTABILIDAD BÁSICA. Here comes your footer  Page 2 Contabilidad Básica.
Calculadora programada con Scratch
Ingreso , proceso y salida de datos
Clases y Objetos.
INFORMÁTICA MÉDICA Juramento Hipocrático Material Complementario
Introducción a la Programación Multimedial
METODOLOGÍA DE SISTEMAS
Introducción a la Programación Multimedial
. Primera Open Class Asignatura: Programación Estructurada Tema:
PROGRAMACIÓN ORIENTADA A OBJETOS
Olimpiadas Chilenas de Informática - Formación
Polimorfismo subtipado
Programación Orientada a Objetos
Programación Orientada a Eventos
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
POLITECNICO INDES COROZAL
Los sistemas de información
Introducción a programación web Martin Esses
Introducción a los algoritmos
Guía teórica de manejo de estructuras de datos
Introducción a programación web Martin Esses
Actividad 7 Diagrama de estado
BASES DE DATOS con Libreoffice base
II QUIMESTRE PARCIAL I VISUAL.
Tema 6. Conceptos básicos de programación (Clase 2)
TÍTULO DEL PROYECTO Plataformas Computacionales de Entrenamiento, Experimentación, Gestión y Mitigación de Ataques a la Ciberseguridad.
Patrones de Diseño Agustín J. González ElO329.
Patrones de Diseño Agustín J. González ElO329.
Análisis y Diseño de Sistemas de Información
Tema 3. Lenguaje unificado de modelado UML
Tema 6. Conceptos básicos de programación Clase 1
QUÈ ES VISUAL BASIC ES UN LENGUAJE DE PROGRAMACIÒN QUE SE HA DISEÑADO PARA FACILITAR EL DESARROLLO DE APLICACIONES EN EL ENTORNO GRÀFICO. (GUI GRAPHICAL.
Unidad 2: Programación 2. Programación Curso
MENU SOFWARE Y HADWARE DISPOSITIVOS DE SALIDA DISPOSITIVOS DE ENTRADA
FACTORY METHOD Creación a nivel de clases.
Unidad 2: Programación 2. Programación Curso
Tema: amenazas de software e información.
Programación Orientada a Objetos
Diagramas del modelo uml
Funcionamiento Caracas, 2016.
Guía de: Cmap Tools.
Curso de estadística aplicada
ACTIVIDAD 3. HERRAMIENTAS TAREAS
Clases y objetos.
Conceptos de Objetos, Clases y Otros Modelo Conceptual
Java – programación orientada a objetos programación ii – iee
1. Bases de datos con varias tablas
00:46 1 El software educativo es definido como un conjunto de programas, documentos, procedimientos, y rutinas asociados con la operación de un sistema.
INTERNET.
Excel Macros Formularios.
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
CURSO PROGRAMACIÓN BÁSICA SEMANA 2
Introducción a los algoritmos
MODULO DE SISTEMAS DE INFORMACIÓN
Patrón de diseño: Factory Method
FUNDAMENTOS DE PROGRAMACION
Lingüística computacional
MC Beatriz Beltrán Martínez Verano 2018
Tema 6. Conceptos básicos de programación (Clase 2)
Transformación de una aplicación móvil utilizando Material Design Denisse Gómez Casco Usabilidad e Interfaces Trabajo final de grado.
Informática Ingeniería en Electrónica y Automática Industrial
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
Skill Traing Componente Finanzas
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
Transcripción de la presentación:

Introducción al Diseño Orientado a Objetos Paradigma Orientado a Objetos

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

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?

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

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

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?

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

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.

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.

¿Cómo se traduce esto en código?

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

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

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”

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?

¿Cómo se traduce esto en código?

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

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

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

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

¿Cómo se traduce esto en código?

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

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.

Interfaz Ejercicio. Define la interfaz de una ventana del entorno gráfico del sistema operativo.  ¿Qué propiedades expone?  ¿Qué métodos tiene?

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

Clases Es un concepto de la POO que nos permite definir la estructura de objetos con características similares

¿Cómo se traduce esto en código?

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)

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

¿Cómo se traduce esto en código?

Paradigma Orientado a Objetos Ejercicio. Diseña las clases necesarias para que funcione el siguiente código.

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

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.

¿Cómo se traduce esto en código?

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.

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

Interfaces - Ejemplo Existen diferentes algoritmos de huella electrónica  MD5 (  SHA-1 ( Las implementaciones pueden variar en velocidad de calculo, fortaleza, reducir colisiones, etc.

Interfaces - Ejemplo

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.