SlideShare una empresa de Scribd logo
INTRODUCCIÓN A LA PROGRAMACIÓN
ORIENTADA A OBJETOS
1
Mtl.LourdesCahuich-POO
EJEMPLO PARA COMPRENDER LOS OBJETOS
 Piensa en los objetos que te rodean, ¿de qué están
hechos? ¿qué forma tienen? ¿para qué sirven?
 Veamos un ejemplo de la vida cotidiana.
2
Mtl.LourdesCahuich-POO
EJEMPLO PARA COMPRENDER LOS OBJETOS
 Imagina que quieres ver una película o evento
deportivo y quieres prepararte una botana.
 Se te antojan unos nachos, nada complicado, sólo
tienes que poner totopos en un plato, algunos
frijoles, queso y jalapeños, y ponerlo en el
microondas a que se cocine unos cinco minutos.
3
Mtl.LourdesCahuich-POO
EJEMPLO PARA COMPRENDER LOS OBJETOS
 Para usar el horno: abres la puerta, pones el plato
de nachos adentro, y oprimes algunos botones al
frente y oprimes el botón de inicio. Después de
unos minutos, suena el "pitido" que te dice que
están listos.
 Si haces algo mal, el horno dará pitidos y no
comenzará. A veces puede mostrar un mensaje de
error en su pequeño display.
4
Mtl.LourdesCahuich-POO
EJEMPLO PARA COMPRENDER LOS OBJETOS
 Esto no suena muy sofisticado, a menos que nos
pongamos a pensar todas las cosas que no
sabemos sobre el funcionamiento de un horno de
microondas
5
Mtl.LourdesCahuich-POO
NOTEMOS QUE:
1. Sólo nos limitamos a usar el panel frontal del
horno.
2. No reescribimos o cambiamos nada dentro del
microondas para que funcione.
3. No pensamos en qué podría estar sucediendo
dentro del horno para usarlo.
6
Mtl.LourdesCahuich-POO
 Esto no es nada extraño, los seres humanos
tendemos a pensar en sólo unas pocas cosas a la
vez.
 Tendemos a reducir el número de cosas con las
que tenemos que lidiar al abstraernos de los
pequeños detalles.
 Esto nos permite trabajar al nivel de detalle
apropiado para que problema que tenemos que
resolver.
7
Mtl.LourdesCahuich-POO
 Cuando preparamos nuestros nachos, vemos a
nuestro horno como una caja negra.
 No nos preocupamos por lo que sucede dentro de
la caja, a menos que ésta se rompa.
 Pero siempre que funcione el horno, nos limitamos
a interactuar con lo que éste expone al mundo.
8
Mtl.LourdesCahuich-POO
 No hay nada que yo pueda hacer (siguiendo las
instrucciones) que cause que el horno entre en un
estado de inconsistencia y deje de funcionar,
vuelva a mis nachos una bola negra en llamas, o
peor, que se queme e incendie la casa.
9
Mtl.LourdesCahuich-POO
ALGORITMO DE LOS NACHOS
 Si hiciéramos un seudocódigo para preparar
nachos usando la programación funcional /
estructurada ¿qué tendríamos que hacer?
 "Abrir una lata de frijoles, rayar un poco de queso,
cortar los jalapeños", etc.
 Para la parte en la que calentamos los nachos,
escribiremos algo similar a "cocinar en horno hasta
que el queso se derrita".
10
Mtl.LourdesCahuich-POO
NACHOS ESTRUCTURADOS
 El seudocódigo incluiría la construcción de un
horno específico para cocinar nachos.
 Parecería más fácil diseñar y construir un horno de
microondas especialmente para este problema de
preparar nachos, en lugar de construir un objeto
horno más genérico, por separado.
11
Mtl.LourdesCahuich-POO
DESVENTAJAS
 Sin embargo, esta aproximación funcional tiene
varios problemas:
 Demasiado complejo. No quieres mezclar los detalles
de la construcción del horno con los detalles de la
construcción de los nachos.
12
Mtl.LourdesCahuich-POO
DESVENTAJAS
 No es flexible. Si necesitas reemplazar el horno de
microondas con algún otro tipo de horno, deberías
poder hacerlo siempre y cuando la interfaz del nuevo
horno sea igual a la del horno anterior
 No es reutilizable. Los hornos se usan para realizar
diferentes platillos. No queremos crear un nuevo horno
cada vez que nos encontremos con una nueva receta
13
Mtl.LourdesCahuich-POO
NACHOS ORIENTADOS A OBJETOS
 En cambio, si hiciéramos un seudocódigo usando
la programación orientada a objetos, primero
tendríamos que identificar los objetos que
interactúan y cómo interactúan entre sí.
 Después de que codifiquemos y probemos
exitosamente los objetos que necesitamos
podemos ir al siguiente nivel de abstracción.
14
Mtl.LourdesCahuich-POO
NACHOS ORIENTADOS A OBJETOS
 Ahora podemos comenzar a pensar en el nivel para
preparar nachos, en lugar del nivel de hacer un
microondas.
 En este punto ya podemos usar el algoritmo que
hicimos al principio, directamente en el código del
programa
15
Mtl.LourdesCahuich-POO
EN UNA APROXIMACIÓN PARA PROGRAMACIÓN
ORIENTADA A OBJETOS:
 El programador identifica las clases necesarias
para resolver el problema.
 El programador crea clases auto-contenidas que
cubran los requerimientos del problema y no se
preocupe de los detalles de toda la aplicación.
 El programador escribe la aplicación usando las
clases que creó sin pensar en cómo funcionan
éstas internamente.
16
Mtl.LourdesCahuich-POO
TERMINOLOGÍA POO
 Un objeto es una simplificación de algo que
queremos usar en nuestro programa
 Una clase es una plantilla que se usa para
describir un objeto que observamos en el mundo
real.
17
Mtl.LourdesCahuich-POO
TERMINOLOGÍA POO
 Las clases tienen 2 componentes básicos:
1. Propiedades – que describen al objeto
2. Métodos – acciones que deseamos asociar con el
objeto
18
Mtl.LourdesCahuich-POO
PROPIEDADES
 La información que queremos guardar y asociar
con el objeto. Al cambiar los valores de las
propiedades se cambia el estado del objeto.
 Las propiedades se identifican como sustantivos
19
Mtl.LourdesCahuich-POO
MÉTODOS
 Determinan el comportamiento de un objeto;
normalmente los métodos de una clase actúan
sobre las propiedades.
 Se identifican con verbos, denotando algún tipo de
acción.
20
Mtl.LourdesCahuich-POO
FUENTE
 Davis, Stephen R.. Beginning Programming with
C++ For Dummies. Hoboken, NJ, USA: John Wiley
& Sons, 2010. ProQuest ebrary. Web. 3 February
2015.
21
Mtl.LourdesCahuich-POO

Más contenido relacionado

Más de UVM

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
UVM
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación Avanzada
UVM
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
UVM
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
UVM
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglos
UVM
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadores
UVM
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stl
UVM
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadores
UVM
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicos
UVM
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datos
UVM
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funciones
UVM
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
UVM
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
UVM
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembre
UVM
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3
UVM
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
UVM
 
Función main()
Función main()Función main()
Función main()
UVM
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
UVM
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agosto
UVM
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
UVM
 

Más de UVM (20)

Tiempo compartido en programación
Tiempo compartido en programaciónTiempo compartido en programación
Tiempo compartido en programación
 
Portafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación AvanzadaPortafolio de evidencias del curso Programación Avanzada
Portafolio de evidencias del curso Programación Avanzada
 
Eficiencia en uso tiempo
Eficiencia en uso  tiempoEficiencia en uso  tiempo
Eficiencia en uso tiempo
 
Administración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicosAdministración de memoria arreglos dinamicos
Administración de memoria arreglos dinamicos
 
Practica de arreglos
Practica de arreglosPractica de arreglos
Practica de arreglos
 
Otra introducción a apuntadores
Otra introducción a apuntadoresOtra introducción a apuntadores
Otra introducción a apuntadores
 
Ejemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stlEjemplo de solución de práctica funciones stl
Ejemplo de solución de práctica funciones stl
 
Breve repaso de apuntadores
Breve repaso de apuntadoresBreve repaso de apuntadores
Breve repaso de apuntadores
 
Arreglos conceptos básicos
Arreglos conceptos básicosArreglos conceptos básicos
Arreglos conceptos básicos
 
Resolución práctica de tipos de datos
Resolución práctica de tipos de datosResolución práctica de tipos de datos
Resolución práctica de tipos de datos
 
Resumen de funciones
Resumen de funcionesResumen de funciones
Resumen de funciones
 
Biblioteca estándar de funciones
Biblioteca estándar de funcionesBiblioteca estándar de funciones
Biblioteca estándar de funciones
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
 
Aclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembreAclaración de dudas 4 de septiembre
Aclaración de dudas 4 de septiembre
 
Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3Aclaraciones varias a códigos entregados en sesión 3
Aclaraciones varias a códigos entregados en sesión 3
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
 
Función main()
Función main()Función main()
Función main()
 
Depuración de un programa en c++
Depuración de un programa en c++Depuración de un programa en c++
Depuración de un programa en c++
 
Algunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agostoAlgunas dudas de la sesión 28 agosto
Algunas dudas de la sesión 28 agosto
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
 

Último

Las diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdfLas diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdf
La Paradoja educativa
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
cportizsanchez48
 
Biografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptxBiografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptx
ar5498718
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
DanielaBurgosnazario
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
estroba5
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
almitamtz00
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Demetrio Ccesa Rayme
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
amayaltc18
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
https://gramadal.wordpress.com/
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
Osiris Urbano
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
H4RV3YH3RN4ND3Z
 
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIAFUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
ElenaGallardoPals
 
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascón
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascónElites municipales y propiedades rurales: algunos ejemplos en territorio vascón
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascón
Javier Andreu
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Demetrio Ccesa Rayme
 
recursos naturales en chile quinto básico .pptx
recursos naturales en chile quinto básico .pptxrecursos naturales en chile quinto básico .pptx
recursos naturales en chile quinto básico .pptx
Waleska Chaparro
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
Claude LaCombe
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Demetrio Ccesa Rayme
 

Último (20)

Las diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdfLas diversas Sociedades Mercantiles Mexico.pdf
Las diversas Sociedades Mercantiles Mexico.pdf
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
 
Biografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptxBiografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptx
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
 
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIAFUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
 
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascón
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascónElites municipales y propiedades rurales: algunos ejemplos en territorio vascón
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascón
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
 
recursos naturales en chile quinto básico .pptx
recursos naturales en chile quinto básico .pptxrecursos naturales en chile quinto básico .pptx
recursos naturales en chile quinto básico .pptx
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
 

Introducción a la programación orientada a objetos

  • 1. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS 1 Mtl.LourdesCahuich-POO
  • 2. EJEMPLO PARA COMPRENDER LOS OBJETOS  Piensa en los objetos que te rodean, ¿de qué están hechos? ¿qué forma tienen? ¿para qué sirven?  Veamos un ejemplo de la vida cotidiana. 2 Mtl.LourdesCahuich-POO
  • 3. EJEMPLO PARA COMPRENDER LOS OBJETOS  Imagina que quieres ver una película o evento deportivo y quieres prepararte una botana.  Se te antojan unos nachos, nada complicado, sólo tienes que poner totopos en un plato, algunos frijoles, queso y jalapeños, y ponerlo en el microondas a que se cocine unos cinco minutos. 3 Mtl.LourdesCahuich-POO
  • 4. EJEMPLO PARA COMPRENDER LOS OBJETOS  Para usar el horno: abres la puerta, pones el plato de nachos adentro, y oprimes algunos botones al frente y oprimes el botón de inicio. Después de unos minutos, suena el "pitido" que te dice que están listos.  Si haces algo mal, el horno dará pitidos y no comenzará. A veces puede mostrar un mensaje de error en su pequeño display. 4 Mtl.LourdesCahuich-POO
  • 5. EJEMPLO PARA COMPRENDER LOS OBJETOS  Esto no suena muy sofisticado, a menos que nos pongamos a pensar todas las cosas que no sabemos sobre el funcionamiento de un horno de microondas 5 Mtl.LourdesCahuich-POO
  • 6. NOTEMOS QUE: 1. Sólo nos limitamos a usar el panel frontal del horno. 2. No reescribimos o cambiamos nada dentro del microondas para que funcione. 3. No pensamos en qué podría estar sucediendo dentro del horno para usarlo. 6 Mtl.LourdesCahuich-POO
  • 7.  Esto no es nada extraño, los seres humanos tendemos a pensar en sólo unas pocas cosas a la vez.  Tendemos a reducir el número de cosas con las que tenemos que lidiar al abstraernos de los pequeños detalles.  Esto nos permite trabajar al nivel de detalle apropiado para que problema que tenemos que resolver. 7 Mtl.LourdesCahuich-POO
  • 8.  Cuando preparamos nuestros nachos, vemos a nuestro horno como una caja negra.  No nos preocupamos por lo que sucede dentro de la caja, a menos que ésta se rompa.  Pero siempre que funcione el horno, nos limitamos a interactuar con lo que éste expone al mundo. 8 Mtl.LourdesCahuich-POO
  • 9.  No hay nada que yo pueda hacer (siguiendo las instrucciones) que cause que el horno entre en un estado de inconsistencia y deje de funcionar, vuelva a mis nachos una bola negra en llamas, o peor, que se queme e incendie la casa. 9 Mtl.LourdesCahuich-POO
  • 10. ALGORITMO DE LOS NACHOS  Si hiciéramos un seudocódigo para preparar nachos usando la programación funcional / estructurada ¿qué tendríamos que hacer?  "Abrir una lata de frijoles, rayar un poco de queso, cortar los jalapeños", etc.  Para la parte en la que calentamos los nachos, escribiremos algo similar a "cocinar en horno hasta que el queso se derrita". 10 Mtl.LourdesCahuich-POO
  • 11. NACHOS ESTRUCTURADOS  El seudocódigo incluiría la construcción de un horno específico para cocinar nachos.  Parecería más fácil diseñar y construir un horno de microondas especialmente para este problema de preparar nachos, en lugar de construir un objeto horno más genérico, por separado. 11 Mtl.LourdesCahuich-POO
  • 12. DESVENTAJAS  Sin embargo, esta aproximación funcional tiene varios problemas:  Demasiado complejo. No quieres mezclar los detalles de la construcción del horno con los detalles de la construcción de los nachos. 12 Mtl.LourdesCahuich-POO
  • 13. DESVENTAJAS  No es flexible. Si necesitas reemplazar el horno de microondas con algún otro tipo de horno, deberías poder hacerlo siempre y cuando la interfaz del nuevo horno sea igual a la del horno anterior  No es reutilizable. Los hornos se usan para realizar diferentes platillos. No queremos crear un nuevo horno cada vez que nos encontremos con una nueva receta 13 Mtl.LourdesCahuich-POO
  • 14. NACHOS ORIENTADOS A OBJETOS  En cambio, si hiciéramos un seudocódigo usando la programación orientada a objetos, primero tendríamos que identificar los objetos que interactúan y cómo interactúan entre sí.  Después de que codifiquemos y probemos exitosamente los objetos que necesitamos podemos ir al siguiente nivel de abstracción. 14 Mtl.LourdesCahuich-POO
  • 15. NACHOS ORIENTADOS A OBJETOS  Ahora podemos comenzar a pensar en el nivel para preparar nachos, en lugar del nivel de hacer un microondas.  En este punto ya podemos usar el algoritmo que hicimos al principio, directamente en el código del programa 15 Mtl.LourdesCahuich-POO
  • 16. EN UNA APROXIMACIÓN PARA PROGRAMACIÓN ORIENTADA A OBJETOS:  El programador identifica las clases necesarias para resolver el problema.  El programador crea clases auto-contenidas que cubran los requerimientos del problema y no se preocupe de los detalles de toda la aplicación.  El programador escribe la aplicación usando las clases que creó sin pensar en cómo funcionan éstas internamente. 16 Mtl.LourdesCahuich-POO
  • 17. TERMINOLOGÍA POO  Un objeto es una simplificación de algo que queremos usar en nuestro programa  Una clase es una plantilla que se usa para describir un objeto que observamos en el mundo real. 17 Mtl.LourdesCahuich-POO
  • 18. TERMINOLOGÍA POO  Las clases tienen 2 componentes básicos: 1. Propiedades – que describen al objeto 2. Métodos – acciones que deseamos asociar con el objeto 18 Mtl.LourdesCahuich-POO
  • 19. PROPIEDADES  La información que queremos guardar y asociar con el objeto. Al cambiar los valores de las propiedades se cambia el estado del objeto.  Las propiedades se identifican como sustantivos 19 Mtl.LourdesCahuich-POO
  • 20. MÉTODOS  Determinan el comportamiento de un objeto; normalmente los métodos de una clase actúan sobre las propiedades.  Se identifican con verbos, denotando algún tipo de acción. 20 Mtl.LourdesCahuich-POO
  • 21. FUENTE  Davis, Stephen R.. Beginning Programming with C++ For Dummies. Hoboken, NJ, USA: John Wiley & Sons, 2010. ProQuest ebrary. Web. 3 February 2015. 21 Mtl.LourdesCahuich-POO