1 / 51

Metodología de la Programación Orientada a Objetos

Metodología de la Programación Orientada a Objetos. Ing. Juan Carlos Pizarro Martínez M.A. Martha Rangel Esquivel. ¿Qué es Orientado a Objetos?.

sue
Download Presentation

Metodología de la Programación Orientada a Objetos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Metodología de la Programación Orientada a Objetos Ing. Juan Carlos Pizarro Martínez M.A. Martha Rangel Esquivel

  2. ¿Qué es Orientado a Objetos? • El termino OO, significa que elsoftware es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos relacionados. • Los objetos se utilizan para representar objetos del mundo real, como pueden ser: productos, clientes y ordenes de compra. La idea básica es definir objetos de software que puedan interactuar unos con otros como lo hacen en el mundo real.

  3. Razones fundamentales que están influyendo en la importancia de la POO • La OO es especialmente adecuada para realizar determinadas aplicaciones, sobre todo realización de prototipos • Las aplicaciones orientadas a objetos son más sencillas de mantener

  4. Los mecanismos de encapsulamiento de POO soportan un alto grado de reutilización de código, incrementándose con la herencia y agregación. • Interfaces de usuario visuales

  5. POO Vs Programación Estructurada • La POO es un modelo de lenguaje de programación organizado alrededor de “objetos” en lugar de “acciones” y datos en lugar de lógica. • Históricamente, un programa era visto como un procedimiento lógico que tomaba entradas, las procesaba, y producía salidas. entradas proceso salida

  6. El reto era el como escribir la lógica, no como definir los datos. • La programación orientada a objetos se enfoca en que lo que importa son los objetos que queremos manipular, no la lógica que se requiere para manipularlos.

  7. Metodología de la ProgramaciónOrientada a Objetos • La orientación a objetos obliga a reconsiderar nuestro pensamiento sobre la computación, y sobre cómo se estructura la información dentro de la computadora.

  8. Paradigmas de la MOO • Es una metodología de desarrollo de software que se enfoca en el paradigmade la POO • Nuestro mundo es un conjunto de agentes/objetos colaborando uno con otros. 2. El software se debe organizar de acuerdo a la estructura de mundo real. • Esto incrementa el entendimiento y evolución del software

  9. Paradigma # 1 • Nuestro mundo es un conjunto de agentes/objetos colaborando uno con otros. Ingenieros Presidente Fabricas Científicos Empleados Escuelas

  10. Paradigma # 2 • El software se debe organizar de acuerdo a la estructura de mundo real. Objeto de Manejo de Información Objetos de Diseño Objeto Administración de fabricas Objetos de Laboratorio Objeto Empleados

  11. Objetos Computacionales • Son elementos del mundo real a describir • Elementos de comportamiento autónomo Objeto = atributos + operaciones + comportamientos • Atributos: datos del objeto • Operaciones: para cambiar y/o hacer referencia a los atributos • Comportamientos: Al recibir estímulos (eventos) realizan operaciones, cambian de estado y activan eventos. • Son Objetos Encapsulados

  12. Objetos

  13. Descripción del Mundo Real • Como describimos el mundo real? Concepto de clase + relación entre clases • Clase como conjunto de “objetos similares” en el mundo

  14. Abstracción • La abstracción consiste en aislar un elemento del resto de los elementos que lo acompañan.

  15. La Abstracción como proceso natural mental • Las personas normalmente comprenden el mundo construyendo modelos mentales de partes del mismo; tratan de comprender cosas con las que pueden interactuar. • Los modelos mentales abstraen características de un objeto para nuestra comprensión, mientras que ignoran características irrelevantes. • Este proceso de abstracción es psicológicamente necesario y natural.

  16. La abstracción es crucial para comprender este complejo mundo. • La abstracción es esencial para el funcionamiento de una mente humana normal. • La abstracción es una herramienta muy potente para tratar la complejidad. • La abstracción es la clave para diseñar buen software.

  17. Ejemplos de Objetos • Los objetos van desde seres humanos (descritos por el nombre, dirección, etc.) a edificios, pisos (de los cuales se puede describir sus atributos) hasta pequeños componentes del escritorio de una computadora (como botones y scroll bars).

  18. Objetos y Clases

  19. Clases y Objetos

  20. Relaciones entre Clases • Jerarquía de Clase, Herencia, “es un” • Generalización / Especialización • Mamífero :, Chango :, Humano • Composición, Agregación, “tiene un” • Automóvil = llantas + carrocería + motor • Asociación, relación general entre clases • Empleado – (trabaja en) – Empresa • Dependencia

  21. Herencia – “es un”

  22. Composición – “tiene un”

  23. Asociación / relación

  24. Dependencia

  25. Aspectos principales en la MOO • Análisis / Diseño Orientado a Objetos (ADOO) • Programación Orientada a Objetos

  26. Proceso típico de desarrollo Orientado a Objetos

  27. Programación Orientada a Objetos • Permite una representación más directa de un modelo del mundo real en el código

  28. Beneficios de la POO • Mejora la Productividad. La reutilización de componentes existentes acelera el proceso de desarrollo. • Las reducciones de código van desde un 40% con respecto a la programación estructurada. • Entrega de sistemas de alta calidad. El sistema se construye de componentes existentes debidamente validados y probados.

  29. Reducción del costo de mantenimiento. Los cambios se enfocan únicamente en los objetos afectados, sin necesidad de realizar cambios en todo el sistema. • Administración de la complejidad. Con la orientación a objetos, una solución compleja se puede dividir en varios componentes de menor complejidad que el todo.

  30. Probablemente la parte difícil de la creación de software orientado a objetos es: • Identificar las clases necesarias y el modo en que interactúan entre si.

  31. Abstracción en la POO • Los lenguajes orientados a objetos proveen la abstracción por medio de clases. Las clases definen las propiedades y métodos de un tipo de objeto. • Ejemplo: Puede crear una abstracción de un perro con características como, color, altura y peso, y acciones como ladrar y morder. Las características representan las propiedades y las acciones los métodos.

  32. Practiquemos la Abstracción estudiante persona maestro empleado

  33. Identificación de clases/objetos

  34. Sigamos practicando…

  35. Identificación de clase/objetos

  36. Una mas…

  37. Objeto/ Composición /Relaciones menu ventana Caja de texto botones

  38. Lenguajes de Programación

  39. Algol Simula Basic C Visual Basic Pascal Smalltalk C++ Actor Objective-C Ada Object Pascal Ada-95 Java C# Delphi

  40. Java • Es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90.

  41. La sintaxis de Java se deriva en gran medida de C /C++, Pero a diferencia de éste todo en Java es un objeto. • Elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de apuntadores o memoria. • Permite Multihilos

  42. Es independiente de la plataforma, programas escritos en el lenguaje Java pueden ejecutarse igualmente en cualquier tipo de hardware. • La portabilidad es técnicamente difícil de lograr, y el éxito de Java en ese campo ha sido el simplificar su logro. • Distribuido bajo la licencia GNU GPL (software Libre)

  43. Tipos de programas en Java • Programasquepueden ser empotrados en unapágina Web • Programasautonomosllamadosaplicaciones Java

  44. Tipos de programas en Java • Programasquepueden ser empotrados en unapágina Web (Applets, Servlets) • Programasautonomosllamadosaplicaciones Java

  45. Tipos de programas en Java • Programasquepueden ser empotrados en unapágina Web (Applets, Servlets) • Programasautonomosllamadosaplicaciones Java • Aplicaciones de consola

  46. Tipos de programas en Java • Programasquepueden ser empotrados en unapágina Web (Applets, Servlets) • Programasautonomosllamadosaplicaciones Java • Aplicaciones de consola • Aplicaciones con ventanas

  47. Versiones Java

  48. Proceso de compilación

  49. Proceso de compilación en un Programa C++

  50. Proceso de compilación en un Programa Java

More Related