Successfully reported this slideshow.
Programación  Orientada a Objetos Orientada a Objetos <ul><li>Introducción </li></ul>
Instructor <ul><li>Xavier  Ochoa Chehab </li></ul><ul><ul><li>Estudios </li></ul></ul><ul><ul><ul><li>Ingeniero en Computa...
Instructor <ul><li>Areas de Interes Profesional </li></ul><ul><ul><li>E-Learning 2.0 </li></ul></ul><ul><ul><li>Multimedia...
Instructor <ul><ul><li>Presencia Digital: </li></ul></ul><ul><ul><ul><li>http://ariadne.cti.espol.edu.ec/xavier </li></ul>...
Estudiantes
Estudiantes <ul><li>Entrevista Cruzada </li></ul><ul><ul><li>¿Quién es? </li></ul></ul><ul><ul><li>¿Porque estudia CC? </l...
Las Reglas <ul><li>Asistencia: </li></ul><ul><ul><li>La asistencia es obligatoria </li></ul></ul><ul><ul><li>Se toma lista...
Las Reglas <ul><li>Evaluación: </li></ul><ul><ul><li>Primera Evaluación </li></ul></ul><ul><ul><ul><li>Examen escrito: 50 ...
Las Reglas <ul><li>Evaluación: </li></ul><ul><ul><li>Segunda Evaluación </li></ul></ul><ul><ul><ul><li>Examen escrito: 50 ...
Las Reglas <ul><li>Evaluación: </li></ul><ul><ul><li>Mejoramiento </li></ul></ul><ul><ul><ul><li>Examen escrito: 50 puntos...
Las Reglas <ul><li>Investigación </li></ul><ul><ul><li>Cada semana deberán inlcuir un contenido nuevo para la materia enco...
Las Reglas <ul><li>Proyectos </li></ul><ul><ul><li>Los proyectos se realizarán en grupos de 2 </li></ul></ul><ul><ul><li>L...
Introducción a  Orientación a Objetos Orientación a Objetos
Paradigma Procedimental <ul><li>El paradigma procedimental ve a un sistema de computo como un “procesador de datos” </li><...
Paradigma Procedimental <ul><li>Sistema de Rol de Pagos : </li></ul><ul><ul><li>Obtener la lista de empleados </li></ul></...
Paradigma Procedimental <ul><li>Esas operaciones pueden llevarse a cabo con un computador </li></ul><ul><li>Los pasos nece...
Paradigma Procedimental <ul><li>Cada procedimiento recibe datos de entrada, los procesa y luego los transmite a otro proce...
Paradigma Procedimental <ul><li>El diseñador trata de descomponer los problemas en pequeños procedimientos que siendo ejec...
Paradigma Procedimental <ul><li>Ejemplos de este tipo de problema son los sistemas interactivos </li></ul><ul><li>En ellos...
Construcción de una casa para “fido”  Puede hacerlo una sola persona Requiere: Modelado mínimo Proceso simple Herramientas...
Construcción de una casa Construida eficientemente y en un tiempo  razonable por un equipo Requiere: Modelado Proceso bien...
Construcción de un rascacielos
¿Un nuevo paradigma? <ul><li>Paradigma = conjunto de teorías, estándares y métodos que juntos representan maneras de organ...
Paradigma  Orientado a Objetos Orientado a Objetos <ul><li>En el paradigma orientado a objetos, el diseñador trata de reso...
Paradigma  Orientado a Objetos Orientado a Objetos <ul><li>El paradigma orientado a objetos permite al programador concent...
¿Por qué la POO es Popular? <ul><li>Similaridad con la forma de pensar acerca de los problemas en la vida real </li></ul><...
POO: Una nueva manera de ver el mundo <ul><li>“ Juan quiere mandar flores a su amiga Ana que vive en otra ciudad. Debido a...
Agentes, Responsabilidad, Mensajes y Métodos <ul><li>Juan encuentra un  agente  apropiado (Pedro)  </li></ul><ul><li>Y le ...
POO: el Principio General <ul><li>Un programa orientado a objetos esta estructurado como una comunidad de agentes que inte...
¿Qué es un objeto? <ul><ul><li>Así como los procedimientos son la base para construir programas estructurados, los objetos...
Objeto <ul><li>Cada objeto: </li></ul><ul><ul><li>Contiene datos:  Los datos guardan información que describe el estado de...
Objeto <ul><li>Objeto empleado: </li></ul>Datos: Nombre: Juan Perez Horas que trabaja a la semana: 40 Afiliado al seguro: ...
Objeto
Objeto Bicicleta
Objeto <ul><li>Un objeto es una abstracción de una entidad del mundo real. </li></ul><ul><li>Los datos de un objeto son co...
Ejemplos de Objetos <ul><li>Cuenta Bancaria </li></ul><ul><ul><li>Estado: número de cuenta, dueño, balance, tasa interés, ...
Lenguajes OO <ul><li>Smalltalk (Squeak) </li></ul><ul><li>C++ </li></ul><ul><li>Java </li></ul><ul><li>C# </li></ul><ul><l...
Terminología  <ul><li>JRE – Java Runtime Environment </li></ul><ul><ul><li>JVM que ejecuta el código </li></ul></ul><ul><l...
Entorno de Desarrollo
Tarea <ul><li>Instalar JDK 6 </li></ul><ul><li>Instalar Eclipse (JEE-Galileo) </li></ul><ul><li>Enviar captura de pantalla...
Prochain SlideShare
Chargement dans…5
×

01 Introduccion Programación Orientaeda a Objetos

1 509 vues

Publié le

Clase de Introducción al Curso de Programación Orientada a Objetos de la carrera de Ciencias Computacionales de la ESPOL

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

01 Introduccion Programación Orientaeda a Objetos

  1. 1. Programación Orientada a Objetos Orientada a Objetos <ul><li>Introducción </li></ul>
  2. 2. Instructor <ul><li>Xavier Ochoa Chehab </li></ul><ul><ul><li>Estudios </li></ul></ul><ul><ul><ul><li>Ingeniero en Computación (ESPOL, 2000) </li></ul></ul></ul><ul><ul><ul><li>M.Sc. Computación Aplicada (VUB, 2002) </li></ul></ul></ul><ul><ul><ul><li>Ph.D. en Ingeniería (KULeuven, 2008) </li></ul></ul></ul><ul><ul><li>Trabajo </li></ul></ul><ul><ul><ul><li>Profesor Principal de la FIEC (7 años) </li></ul></ul></ul><ul><ul><ul><li>Investigador en el CTI (11 años) </li></ul></ul></ul>
  3. 3. Instructor <ul><li>Areas de Interes Profesional </li></ul><ul><ul><li>E-Learning 2.0 </li></ul></ul><ul><ul><li>Multimedia </li></ul></ul><ul><ul><li>Métricas </li></ul></ul><ul><li>Areas de Interes Personal </li></ul><ul><ul><li>Ciencia Ficción (Libros, Peliculas) </li></ul></ul><ul><ul><li>Astronomía </li></ul></ul><ul><ul><li>Viajar </li></ul></ul>
  4. 4. Instructor <ul><ul><li>Presencia Digital: </li></ul></ul><ul><ul><ul><li>http://ariadne.cti.espol.edu.ec/xavier </li></ul></ul></ul><ul><ul><ul><li>Bookmarks: http://delicious.com/xaoch </li></ul></ul></ul><ul><ul><ul><li>Twitter: http://www.twitter.com/xaoch </li></ul></ul></ul><ul><ul><ul><li>Web log: http://xaoch.tumblr.com </li></ul></ul></ul><ul><ul><ul><li>Pres.: http://www.slideshare.com/xaoch </li></ul></ul></ul>
  5. 5. Estudiantes
  6. 6. Estudiantes <ul><li>Entrevista Cruzada </li></ul><ul><ul><li>¿Quién es? </li></ul></ul><ul><ul><li>¿Porque estudia CC? </li></ul></ul><ul><ul><li>Origen de su Nombre </li></ul></ul>
  7. 7. Las Reglas <ul><li>Asistencia: </li></ul><ul><ul><li>La asistencia es obligatoria </li></ul></ul><ul><ul><li>Se toma lista a los 15 minutos de empezada la clase. Se puede ingresar a la clase más tarde, pero no se marca la asistencia </li></ul></ul><ul><ul><li>Si el instructor no llegase dentro de los 15 primeros minutos no habrá clase ese día. </li></ul></ul>
  8. 8. Las Reglas <ul><li>Evaluación: </li></ul><ul><ul><li>Primera Evaluación </li></ul></ul><ul><ul><ul><li>Examen escrito: 50 puntos </li></ul></ul></ul><ul><ul><ul><li>Investigación: 10 puntos </li></ul></ul></ul><ul><ul><ul><li>Deberes: 10 puntos </li></ul></ul></ul><ul><ul><ul><li>Proyecto: 25 puntos </li></ul></ul></ul>
  9. 9. Las Reglas <ul><li>Evaluación: </li></ul><ul><ul><li>Segunda Evaluación </li></ul></ul><ul><ul><ul><li>Examen escrito: 50 puntos </li></ul></ul></ul><ul><ul><ul><li>Investigación: 10 puntos </li></ul></ul></ul><ul><ul><ul><li>Deberes: 10 puntos </li></ul></ul></ul><ul><ul><ul><li>Proyecto: 30 puntos </li></ul></ul></ul>
  10. 10. Las Reglas <ul><li>Evaluación: </li></ul><ul><ul><li>Mejoramiento </li></ul></ul><ul><ul><ul><li>Examen escrito: 50 puntos </li></ul></ul></ul><ul><ul><ul><li>Proyecto: 50 puntos </li></ul></ul></ul>
  11. 11. Las Reglas <ul><li>Investigación </li></ul><ul><ul><li>Cada semana deberán inlcuir un contenido nuevo para la materia encontrado en Internet </li></ul></ul><ul><ul><li>No se contará contenido repetido </li></ul></ul><ul><ul><li>Se utilizará el sistema Delicious.com </li></ul></ul><ul><ul><li>Se utilizará el tag pooespol </li></ul></ul><ul><ul><li>Se contará hasta las 23:59 del Domingo </li></ul></ul>
  12. 12. Las Reglas <ul><li>Proyectos </li></ul><ul><ul><li>Los proyectos se realizarán en grupos de 2 </li></ul></ul><ul><ul><li>Los proyectos deberán ser sustentados </li></ul></ul><ul><ul><li>Se calificará: </li></ul></ul><ul><ul><ul><li>funcionalidad, diseño, estilo y robustés </li></ul></ul></ul>
  13. 13. Introducción a Orientación a Objetos Orientación a Objetos
  14. 14. Paradigma Procedimental <ul><li>El paradigma procedimental ve a un sistema de computo como un “procesador de datos” </li></ul><ul><li>Los datos ingresan al programa y se van transformando al pasar por una serie de funciones </li></ul>
  15. 15. Paradigma Procedimental <ul><li>Sistema de Rol de Pagos : </li></ul><ul><ul><li>Obtener la lista de empleados </li></ul></ul><ul><ul><li>Obtener el registro de horas de trabajo </li></ul></ul><ul><ul><li>Obtener las tablas de remuneración y descuentos </li></ul></ul><ul><ul><li>Para cada empleado: </li></ul></ul><ul><ul><ul><li>Calcular la cantidad a pagar </li></ul></ul></ul><ul><ul><ul><li>Calcular las retenciones e impuestos </li></ul></ul></ul><ul><ul><ul><li>Calcular la paga neta </li></ul></ul></ul><ul><ul><ul><li>Preparar el cheque </li></ul></ul></ul><ul><ul><ul><li>Anotar el cheque en el sistema de contabilidad </li></ul></ul></ul><ul><ul><ul><li>Enviar el cheque al empleado </li></ul></ul></ul><ul><ul><li>Devolver todos los documentos a su respectivo lugar </li></ul></ul>
  16. 16. Paradigma Procedimental <ul><li>Esas operaciones pueden llevarse a cabo con un computador </li></ul><ul><li>Los pasos necesarios para llegar a cabo una tarea se conocen como “proceso” </li></ul><ul><li>Cada uno de los pasos se conoce como “procedimiento” </li></ul>
  17. 17. Paradigma Procedimental <ul><li>Cada procedimiento recibe datos de entrada, los procesa y luego los transmite a otro procedimiento y finalmente a un humano. </li></ul><ul><li>Los datos son dados a los procedimientos de una manera similar a la que la materia prima es alimentada una línea de ensamblaje. </li></ul>
  18. 18. Paradigma Procedimental <ul><li>El diseñador trata de descomponer los problemas en pequeños procedimientos que siendo ejecutados en el orden correcto hacen que el sistema llegue a una respuesta. </li></ul><ul><li>Esto funciona muy bien para problemas pequeños. ¿Pero que pasa con sistemas grandes y donde lo que gobierna al sistema no son los datos sino los eventos? </li></ul>
  19. 19. Paradigma Procedimental <ul><li>Ejemplos de este tipo de problema son los sistemas interactivos </li></ul><ul><li>En ellos el flujo del programa ya no es lineal, sino que dependerá de la respuesta del usuario </li></ul><ul><li>El orden en que los procedimientos son llamados no se conoce de antemano </li></ul>
  20. 20. Construcción de una casa para “fido” Puede hacerlo una sola persona Requiere: Modelado mínimo Proceso simple Herramientas simples
  21. 21. Construcción de una casa Construida eficientemente y en un tiempo razonable por un equipo Requiere: Modelado Proceso bien definido Herramientas más sofisticadas
  22. 22. Construcción de un rascacielos
  23. 23. ¿Un nuevo paradigma? <ul><li>Paradigma = conjunto de teorías, estándares y métodos que juntos representan maneras de organizar el conocimiento y ver el mundo. </li></ul><ul><li>En la ciencia una revolución ocurre cuando un paradigma viejo es reexaminado, rechazado y remplazado por uno nuevo </li></ul><ul><li>Paradigma de Programación = una manera de conceptuar que significa computar y como estructurar y organizar las tareas que deben ser llevadas a cabo por una computadora </li></ul>
  24. 24. Paradigma Orientado a Objetos Orientado a Objetos <ul><li>En el paradigma orientado a objetos, el diseñador trata de resolver un problema modelando los diferentes objetos presentes y sus diferentes interacciones </li></ul><ul><li>En este paradigma los datos no son algo externo al programa, sino que está embebido dentro de los “objetos” </li></ul>
  25. 25. Paradigma Orientado a Objetos Orientado a Objetos <ul><li>El paradigma orientado a objetos permite al programador concentrarse en el la solución al problema y no en cómo implementarla en un computador </li></ul><ul><li>Brinda tres claras ventajas sobre el paradigma procedimental: </li></ul><ul><ul><li>Fácil Mantenimiento </li></ul></ul><ul><ul><li>Reusable </li></ul></ul><ul><ul><li>Escalable </li></ul></ul>
  26. 26. ¿Por qué la POO es Popular? <ul><li>Similaridad con la forma de pensar acerca de los problemas en la vida real </li></ul><ul><li>Es muy escalable, desde problemas triviales hasta sistemas muy complejos </li></ul>
  27. 27. POO: Una nueva manera de ver el mundo <ul><li>“ Juan quiere mandar flores a su amiga Ana que vive en otra ciudad. Debido a la distancia Juan no puede llevar las flores directamente a Ana. Juan acude a Pedro, un florista local, y le da el número y tipo de flores que quiere enviarle a Ana y su dirección. Juan puede estar seguro que las flores serán entregadas a Ana. ” </li></ul>
  28. 28. Agentes, Responsabilidad, Mensajes y Métodos <ul><li>Juan encuentra un agente apropiado (Pedro) </li></ul><ul><li>Y le envía un mensaje que contiene una petición. </li></ul><ul><li>Es la responsabilidad de Pedro el satisfacer esa petición. </li></ul><ul><li>Existe algún método (conjunto de operaciones) usadas por Pedro para entregar las flores. </li></ul><ul><li>Juan no necesita conocer el método particular que Pedro utilizará, esa información esta oculta . </li></ul>
  29. 29. POO: el Principio General <ul><li>Un programa orientado a objetos esta estructurado como una comunidad de agentes que interactúan entre si llamados objetos. </li></ul><ul><li>Las acciones son iniciadas por la transmisión de mensajes a un agente (un objeto). </li></ul><ul><li>El mensaje codifica un requerimiento de acción y es acompañado por información adicional (argumentos) necesaria para llevar a cabo el requerimiento. </li></ul><ul><li>El receptor es el agente al cual el mensajes es enviado. Si el receptor acepta el mensaje, acepta la responsabilidad de llevar a cabo la acción solicitada. </li></ul><ul><li>En respuesta a un mensajes el receptor ejecutará algún método para satisfacer el requerimiento. </li></ul>
  30. 30. ¿Qué es un objeto? <ul><ul><li>Así como los procedimientos son la base para construir programas estructurados, los objetos son usados para construir programas orientados a objetos </li></ul></ul><ul><ul><li>Un programa orientado a objetos es una colección de objetos que están organizados para, y cooperan para, lograr un objetivo. </li></ul></ul>
  31. 31. Objeto <ul><li>Cada objeto: </li></ul><ul><ul><li>Contiene datos: Los datos guardan información que describe el estado del objeto. </li></ul></ul><ul><ul><li>Tiene un conjunto de comportamientos: Estos comportamientos son cosas que el objeto sabe como hacer y que son disparadas por mensajes enviados al objeto. </li></ul></ul><ul><ul><li>Tiene identidad individual: Esto hace posible distinguir un objeto de otro así como es posible distinguir una variable de otra </li></ul></ul>
  32. 32. Objeto <ul><li>Objeto empleado: </li></ul>Datos: Nombre: Juan Perez Horas que trabaja a la semana: 40 Afiliado al seguro: si Comportamiento: Calcular Sueldo Calcular Retenciones Cambiar horario de trabajo Empleado # 03123
  33. 33. Objeto
  34. 34. Objeto Bicicleta
  35. 35. Objeto <ul><li>Un objeto es una abstracción de una entidad del mundo real. </li></ul><ul><li>Los datos de un objeto son conocidos como los atributos </li></ul><ul><li>Los comportamientos de un objeto son conocidos como métodos. </li></ul>
  36. 36. Ejemplos de Objetos <ul><li>Cuenta Bancaria </li></ul><ul><ul><li>Estado: número de cuenta, dueño, balance, tasa interés, etc </li></ul></ul><ul><ul><li>Operaciones: depositar, retirar, transferir, etc </li></ul></ul><ul><li>Estudiante </li></ul><ul><ul><li>Estado: nombre, matrícula, fecha de nacimiento, carrera </li></ul></ul><ul><ul><li>Operaciones: calcular edad, calcular pago, buscar notas </li></ul></ul><ul><li>String </li></ul><ul><ul><li>Estado: secuencia de caracteres </li></ul></ul><ul><ul><li>Operaciones: calcular largo, probar si es igual, concatenar, etc. </li></ul></ul>
  37. 37. Lenguajes OO <ul><li>Smalltalk (Squeak) </li></ul><ul><li>C++ </li></ul><ul><li>Java </li></ul><ul><li>C# </li></ul><ul><li>Python </li></ul><ul><li>Ruby </li></ul>
  38. 38. Terminología <ul><li>JRE – Java Runtime Environment </li></ul><ul><ul><li>JVM que ejecuta el código </li></ul></ul><ul><li>JDK – Java Development Kit </li></ul><ul><ul><li>JRE + tools (compiler, debugger) para desarrollo de applets y de aplicaciones </li></ul></ul><ul><li>J2SE – Java 2 Platform, Standard Edition </li></ul><ul><ul><li>JRE y JDK “family” </li></ul></ul><ul><li>J2EE - Java 2 Platform, Enterprise Edition </li></ul><ul><ul><li>Incluye frameworks para trabajo Web </li></ul></ul><ul><li>http://java.sun.com/javase/technologies/index.jsp </li></ul>
  39. 39. Entorno de Desarrollo
  40. 40. Tarea <ul><li>Instalar JDK 6 </li></ul><ul><li>Instalar Eclipse (JEE-Galileo) </li></ul><ul><li>Enviar captura de pantalla en SIDWeb </li></ul>

×