01 Introduccion Programación Orientaeda a Objetos
-
Upload
xavier-ochoa -
Category
Technology
-
view
1.273 -
download
4
description
Transcript of 01 Introduccion Programación Orientaeda a Objetos
Programación Programación Orientada a ObjetosOrientada a Objetos
IntroducciónIntroducción
2
InstructorInstructor
• XavierXavier Ochoa Chehab Ochoa ChehabEstudiosEstudios
Ingeniero en Computación (ESPOL, 2000)Ingeniero en Computación (ESPOL, 2000)
M.Sc. Computación Aplicada (VUB, 2002)M.Sc. Computación Aplicada (VUB, 2002)
Ph.D. en Ingeniería (KULeuven, 2008)Ph.D. en Ingeniería (KULeuven, 2008)
TrabajoTrabajo
Profesor Principal de la FIEC (7 años)Profesor Principal de la FIEC (7 años)
Investigador en el CTI (11 años)Investigador en el CTI (11 años)
3
InstructorInstructor
Areas de Interes ProfesionalAreas de Interes Profesional
E-Learning 2.0E-Learning 2.0
MultimediaMultimedia
MétricasMétricas
Areas de Interes PersonalAreas de Interes Personal
Ciencia Ficción (Libros, Peliculas)Ciencia Ficción (Libros, Peliculas)
AstronomíaAstronomía
ViajarViajar
4
InstructorInstructor
Presencia Digital:Presencia Digital:
http://ariadne.cti.espol.edu.ec/xavierhttp://ariadne.cti.espol.edu.ec/xavier
Bookmarks: Bookmarks: http://delicious.com/xaochhttp://delicious.com/xaoch
Twitter: Twitter: http://www.twitter.com/xaochhttp://www.twitter.com/xaoch
Web log: Web log: http://xaoch.tumblr.comhttp://xaoch.tumblr.com
Pres.: Pres.: http://www.slideshare.com/xaochhttp://www.slideshare.com/xaoch
EstudiantesEstudiantes
6
EstudiantesEstudiantes
Entrevista CruzadaEntrevista Cruzada
¿Quién es?¿Quién es?
¿Porque estudia CC?¿Porque estudia CC?
Origen de su NombreOrigen de su Nombre
7
Las ReglasLas Reglas
Asistencia:Asistencia:
La asistencia es obligatoriaLa asistencia es obligatoria
Se toma lista a los 15 minutos de empezada Se toma lista a los 15 minutos de empezada la clase. Se puede ingresar a la clase más la clase. Se puede ingresar a la clase más tarde, pero no se marca la asistenciatarde, pero no se marca la asistencia
Si el instructor no llegase dentro de los 15 Si el instructor no llegase dentro de los 15 primeros minutos no habrá clase ese día.primeros minutos no habrá clase ese día.
8
Las ReglasLas Reglas
Evaluación:Evaluación:
Primera EvaluaciónPrimera Evaluación
Examen escrito: 50 puntosExamen escrito: 50 puntos
Investigación: 10 puntosInvestigación: 10 puntos
Deberes: 10 puntosDeberes: 10 puntos
Proyecto: 25 puntosProyecto: 25 puntos
9
Las ReglasLas Reglas
Evaluación:Evaluación:
Segunda EvaluaciónSegunda Evaluación
Examen escrito: 50 puntosExamen escrito: 50 puntos
Investigación: 10 puntosInvestigación: 10 puntos
Deberes: 10 puntosDeberes: 10 puntos
Proyecto: 30 puntosProyecto: 30 puntos
10
Las ReglasLas Reglas
Evaluación:Evaluación:
MejoramientoMejoramiento
Examen escrito: 50 puntosExamen escrito: 50 puntos
Proyecto: 50 puntosProyecto: 50 puntos
11
Las ReglasLas Reglas
InvestigaciónInvestigación
Cada semana deberán inlcuir un contenido Cada semana deberán inlcuir un contenido nuevo para la materia encontrado en Internetnuevo para la materia encontrado en Internet
No se contará contenido repetidoNo se contará contenido repetido
Se utilizará el sistema Se utilizará el sistema Delicious.comDelicious.com
Se utilizará el tagSe utilizará el tag pooespolpooespol
Se contará hasta las 23:59 del DomingoSe contará hasta las 23:59 del Domingo
12
Las ReglasLas Reglas
ProyectosProyectos
Los proyectos se realizarán en grupos de 2Los proyectos se realizarán en grupos de 2
Los proyectos deberán ser sustentadosLos proyectos deberán ser sustentados
Se calificará:Se calificará:
funcionalidad, diseño, estilo y robustésfuncionalidad, diseño, estilo y robustés
Introducción a Introducción a Orientación a ObjetosOrientación a Objetos
14
Paradigma Paradigma ProcedimentalProcedimental
El paradigma procedimental ve a El paradigma procedimental ve a un sistema de computo como un un sistema de computo como un “procesador de datos”“procesador de datos”
Los datos ingresan al programa y Los datos ingresan al programa y se van transformando al pasar por se van transformando al pasar por una serie de funcionesuna serie de funciones
15
Paradigma Paradigma ProcedimentalProcedimental
Sistema de Rol de PagosSistema de Rol de Pagos::
Obtener la lista de empleadosObtener la lista de empleados
Obtener el registro de horas de trabajoObtener el registro de horas de trabajo
Obtener las tablas de remuneración y descuentosObtener las tablas de remuneración y descuentos
Para cada empleado:Para cada empleado:
Calcular la cantidad a pagarCalcular la cantidad a pagar
Calcular las retenciones e impuestosCalcular las retenciones e impuestos
Calcular la paga netaCalcular la paga neta
Preparar el chequePreparar el cheque
Anotar el cheque en el sistema de contabilidadAnotar el cheque en el sistema de contabilidad
Enviar el cheque al empleadoEnviar el cheque al empleado
Devolver todos los documentos a su respectivo lugarDevolver todos los documentos a su respectivo lugar
16
Paradigma Paradigma ProcedimentalProcedimental
Esas operaciones pueden llevarse a cabo con Esas operaciones pueden llevarse a cabo con un computadorun computador
Los pasos necesarios para llegar a cabo una Los pasos necesarios para llegar a cabo una tarea se conocen como “proceso”tarea se conocen como “proceso”
Cada uno de los pasos se conoce como Cada uno de los pasos se conoce como “procedimiento”“procedimiento”
17
Paradigma Paradigma ProcedimentalProcedimental
Cada procedimiento recibe datos de Cada procedimiento recibe datos de entrada, los procesa y luego los transmite a entrada, los procesa y luego los transmite a otro procedimiento y finalmente a un otro procedimiento y finalmente a un humano.humano.
Los datos son dados a los procedimientos Los datos son dados a los procedimientos de una manera similar a la que la materia de una manera similar a la que la materia prima es alimentada una línea de prima es alimentada una línea de ensamblaje.ensamblaje.
18
Paradigma Paradigma ProcedimentalProcedimentalEl diseñador trata de descomponer los El diseñador trata de descomponer los problemas en pequeños procedimientos que problemas en pequeños procedimientos que siendo ejecutados en el orden correcto siendo ejecutados en el orden correcto hacen que el sistema llegue a una hacen que el sistema llegue a una respuesta.respuesta.
Esto funciona muy bien para problemas Esto funciona muy bien para problemas pequeños. ¿Pero que pasa con sistemas pequeños. ¿Pero que pasa con sistemas grandes y donde lo que gobierna al sistema grandes y donde lo que gobierna al sistema no son los datos sino los eventos?no son los datos sino los eventos?
19
Paradigma Paradigma ProcedimentalProcedimental
Ejemplos de este tipo de problema son los Ejemplos de este tipo de problema son los sistemas interactivossistemas interactivos
En ellos el flujo del programa ya no es En ellos el flujo del programa ya no es lineal, sino que dependerá de la respuesta lineal, sino que dependerá de la respuesta del usuariodel usuario
El orden en que los procedimientos son El orden en que los procedimientos son llamados no se conoce de antemanollamados no se conoce de antemano
20
Construcción de una casa para “fido” Construcción de una casa para “fido”
Puede hacerlo una sola personaPuede hacerlo una sola personaRequiere:Requiere:
Modelado mínimoModelado mínimoProceso simpleProceso simple
Herramientas simplesHerramientas simples
21
Construcción de una casaConstrucción de una casa
Construida eficientemente y en un tiempo Construida eficientemente y en un tiempo razonable por un equiporazonable por un equipo
Requiere:Requiere:ModeladoModelado
Proceso bien definidoProceso bien definidoHerramientas más sofisticadasHerramientas más sofisticadas
22
Construcción de un rascacielosConstrucción de un rascacielos
23
¿Un nuevo paradigma?¿Un nuevo paradigma?
Paradigma = conjunto de teorías, estándares y Paradigma = conjunto de teorías, estándares y métodos que juntos representan maneras de métodos que juntos representan maneras de organizar el conocimiento y ver el mundo. organizar el conocimiento y ver el mundo.
En la ciencia una revolución ocurre cuando un En la ciencia una revolución ocurre cuando un paradigma viejo es reexaminado, rechazado y paradigma viejo es reexaminado, rechazado y remplazado por uno nuevoremplazado por uno nuevo
Paradigma de Programación = una manera de Paradigma de Programación = una manera de conceptuar que significa computar y como conceptuar que significa computar y como estructurar y organizar las tareas que deben ser estructurar y organizar las tareas que deben ser llevadas a cabo por una computadorallevadas a cabo por una computadora
24
Paradigma Paradigma Orientado a ObjetosOrientado a Objetos
En el paradigma orientado a objetos, el En el paradigma orientado a objetos, el diseñador trata de resolver un problema diseñador trata de resolver un problema modelando los diferentes objetos presentes y modelando los diferentes objetos presentes y sus diferentes interaccionessus diferentes interacciones
En este paradigma los datos no son algo En este paradigma los datos no son algo externo al programa, sino que está embebido externo al programa, sino que está embebido dentro de los “objetos”dentro de los “objetos”
25
Paradigma Paradigma Orientado a ObjetosOrientado a Objetos
El paradigma orientado a objetos permite al El paradigma orientado a objetos permite al programador concentrarse en el la solución al programador concentrarse en el la solución al problema y no en cómo implementarla en un problema y no en cómo implementarla en un computadorcomputador
Brinda tres claras ventajas sobre el paradigma Brinda tres claras ventajas sobre el paradigma procedimental:procedimental:
Fácil MantenimientoFácil Mantenimiento
ReusableReusable
EscalableEscalable
26
¿Por qué la POO es ¿Por qué la POO es Popular?Popular?
Similaridad con la forma de pensar acerca de Similaridad con la forma de pensar acerca de los problemas en la vida reallos problemas en la vida real
Es muy escalable, desde problemas triviales Es muy escalable, desde problemas triviales hasta sistemas muy complejoshasta sistemas muy complejos
27
POO: Una nueva manera POO: Una nueva manera de ver el mundode ver el mundo
““ Juan quiere mandar flores a su amiga Ana que Juan quiere mandar flores a su amiga Ana que vive en otra ciudad. Debido a la distancia Juan vive en otra ciudad. Debido a la distancia Juan no puede llevar las flores directamente a Ana. no puede llevar las flores directamente a Ana. Juan acude a Pedro, un florista local, y le da el Juan acude a Pedro, un florista local, y le da el número y tipo de flores que quiere enviarle a número y tipo de flores que quiere enviarle a Ana y su dirección. Juan puede estar seguro Ana y su dirección. Juan puede estar seguro que las flores serán entregadas a Ana.que las flores serán entregadas a Ana. ” ”
28
Agentes, Agentes, Responsabilidad, Responsabilidad, Mensajes y MétodosMensajes y Métodos
Juan encuentra un Juan encuentra un agenteagente apropiado (Pedro) apropiado (Pedro)
Y le envía un Y le envía un mensajemensaje que contiene una petición. que contiene una petición.
Es la Es la responsabilidadresponsabilidad de Pedro el satisfacer esa de Pedro el satisfacer esa petición.petición.
• Existe algún Existe algún métodométodo (conjunto de operaciones) (conjunto de operaciones) usadas por Pedro para entregar las flores. usadas por Pedro para entregar las flores.
Juan no necesita conocer el método particular Juan no necesita conocer el método particular que Pedro utilizará, esa información esta que Pedro utilizará, esa información esta ocultaoculta..
29
POO: el Principio POO: el Principio GeneralGeneral
Un programa orientado a objetos esta estructurado como Un programa orientado a objetos esta estructurado como una comunidad de agentes que interactúan entre si una comunidad de agentes que interactúan entre si llamados objetos.llamados objetos.
Las acciones son iniciadas por la transmisión de mensajes a Las acciones son iniciadas por la transmisión de mensajes a un agente (un objeto). un agente (un objeto).
El mensaje codifica un requerimiento de acción y es El mensaje codifica un requerimiento de acción y es acompañado por información adicional (argumentos) acompañado por información adicional (argumentos) necesaria para llevar a cabo el requerimiento.necesaria para llevar a cabo el requerimiento.
El receptor es el agente al cual el mensajes es enviado. Si El receptor es el agente al cual el mensajes es enviado. Si el receptor acepta el mensaje, acepta la responsabilidad de el receptor acepta el mensaje, acepta la responsabilidad de llevar a cabo la acción solicitada.llevar a cabo la acción solicitada.
En respuesta a un mensajes el receptor ejecutará algún En respuesta a un mensajes el receptor ejecutará algún método para satisfacer el requerimiento.método para satisfacer el requerimiento.
30
¿Qué es un objeto?¿Qué es un objeto?
Así como los procedimientos son la base para Así como los procedimientos son la base para construir programas estructurados, los construir programas estructurados, los objetos son usados para construir programas objetos son usados para construir programas orientados a objetosorientados a objetos
Un programa orientado a objetos es una Un programa orientado a objetos es una colección de objetos que están organizados colección de objetos que están organizados para, y cooperan para, lograr un objetivo.para, y cooperan para, lograr un objetivo.
31
ObjetoObjeto
Cada objeto:Cada objeto:
– Contiene datos: Contiene datos: Los datos guardan información Los datos guardan información que describe el estado del objeto.que describe el estado del objeto.
– Tiene un conjunto de comportamientos: Tiene un conjunto de comportamientos: Estos Estos comportamientos son cosas que el objeto sabe comportamientos son cosas que el objeto sabe como hacer y que son disparadas por mensajes como hacer y que son disparadas por mensajes enviados al objeto. enviados al objeto.
– Tiene identidad individual: Tiene identidad individual: Esto hace posible Esto hace posible distinguir un objeto de otro así como es posible distinguir un objeto de otro así como es posible distinguir una variable de otradistinguir una variable de otra
32
ObjetoObjeto
Objeto empleado:Objeto empleado:
Datos:Datos:Nombre: Juan PerezNombre: Juan Perez
Horas que trabaja a la semana: 40Horas que trabaja a la semana: 40Afiliado al seguro: siAfiliado al seguro: si
Comportamiento:Comportamiento:Calcular SueldoCalcular Sueldo
Calcular RetencionesCalcular RetencionesCambiar horario de trabajoCambiar horario de trabajo
Empleado # Empleado # 0312303123
ObjetoObjeto
Objeto BicicletaObjeto Bicicleta
35
ObjetoObjeto
Un objeto es una abstracción de Un objeto es una abstracción de una entidad del mundo real.una entidad del mundo real.
Los datos de un objeto son Los datos de un objeto son conocidos como los atributosconocidos como los atributos
Los comportamientos de un objeto Los comportamientos de un objeto son conocidos como métodos. son conocidos como métodos.
Ejemplos de ObjetosEjemplos de ObjetosCuenta BancariaCuenta Bancaria
Estado: número de cuenta, dueño, balance, tasa interés, etcEstado: número de cuenta, dueño, balance, tasa interés, etc
Operaciones: depositar, retirar, transferir, etcOperaciones: depositar, retirar, transferir, etc
EstudianteEstudiante
Estado: nombre, matrícula, fecha de nacimiento, carreraEstado: nombre, matrícula, fecha de nacimiento, carrera
Operaciones: calcular edad, calcular pago, buscar notasOperaciones: calcular edad, calcular pago, buscar notas
StringString
Estado: secuencia de caracteresEstado: secuencia de caracteres
Operaciones: calcular largo, probar si es igual, concatenar, Operaciones: calcular largo, probar si es igual, concatenar, etc.etc.
Lenguajes OOLenguajes OO
Smalltalk (Squeak)Smalltalk (Squeak)
C++C++
JavaJava
C#C#
PythonPython
RubyRuby
Terminología Terminología
JRE – Java Runtime EnvironmentJRE – Java Runtime Environment
JVM que ejecuta el códigoJVM que ejecuta el código
JDK – Java Development KitJDK – Java Development Kit
JRE + tools (compiler, debugger) para desarrollo de applets JRE + tools (compiler, debugger) para desarrollo de applets y de aplicacionesy de aplicaciones
J2SE – Java 2 Platform, Standard EditionJ2SE – Java 2 Platform, Standard Edition
JRE y JDK “family”JRE y JDK “family”
J2EE - Java 2 Platform, Enterprise EditionJ2EE - Java 2 Platform, Enterprise Edition
Incluye frameworks para trabajo WebIncluye frameworks para trabajo Web
http://java.sun.com/javase/technologies/index.jsphttp://java.sun.com/javase/technologies/index.jsp
Entorno de DesarrolloEntorno de Desarrollo
TareaTarea
Instalar JDK 6Instalar JDK 6
Instalar Eclipse (JEE-Instalar Eclipse (JEE-Galileo)Galileo)
Enviar captura de pantalla Enviar captura de pantalla en SIDWeben SIDWeb