programación orientada a objetos
DESCRIPTION
Programación Orientada a Objetos. Conceptos Fundamentales. ¿Qué es OOP? Una serie de normas para mejorar la programación Se basa en la idea natural de un mundo lleno de objetos El Objeto es su elemento fundamental. Conceptos Fundamentales. ¿Qué es lo que ves?. Conceptos Fundamentales. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/1.jpg)
Programación Orientada a Objetos
![Page 2: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/2.jpg)
Conceptos Fundamentales¿Qué es OOP?• Una serie de normas para
mejorar la programación• Se basa en la idea natural de un
mundo lleno de objetos• El Objeto es su elemento
fundamental
![Page 3: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/3.jpg)
Conceptos Fundamentales¿Qué es lo que ves?
![Page 4: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/4.jpg)
Conceptos Fundamentales¿Qué es lo que ves?
![Page 5: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/5.jpg)
Conceptos Fundamentales¿Qué es lo que ves?
![Page 6: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/6.jpg)
Conceptos Fundamentales¿Qué tienen en común?
![Page 7: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/7.jpg)
Conceptos Fundamentales¿Qué tienen en común?
![Page 8: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/8.jpg)
Conceptos Fundamentales¿Qué es una clase?• Clase Clasificación• Clasificación en base a
comportamiento y atributos comunes
• Crea un vocabulario La forma en que nos
comunicamos La forma en que pensamos
![Page 9: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/9.jpg)
Conceptos Fundamentales¿Qué es una clase?• Construcción Estática• Describe:
Comportamiento común Atributos [estado]
• Estructura de datos• Incluye:
Datos Funciones o métodos
![Page 10: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/10.jpg)
Conceptos FundamentalesConstructores y Destructores• Dos métodos de las clases• Existen por defecto• Constructor, inicializa valores• Destructor, libera recursos al
finalizar la vida de una instancia de una clase creada en memoria
• Existen constructores y destructores por defecto
![Page 11: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/11.jpg)
Conceptos Fundamentales¿Qué es un objeto?
![Page 12: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/12.jpg)
Conceptos Fundamentales¿Qué es un objeto?• Instancia de una clase• Un objeto posee:
Identidad: Es diferenciable entre uno y otro
Comportamiento: Realiza tareas específicas
Estado: Almacena informaciónFijaVariable
![Page 13: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/13.jpg)
Pilares de la POO
Herencia Polimorfismo Encapsulamiento
Abstracción
![Page 14: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/14.jpg)
Pilares de la POOAbstracción• Ignorancia selectiva• Decide que es importante y que
no lo es• Se enfoca [depende] en lo que es
importante• Ignora [no depende] de lo que no
es importante• Utiliza la encapsulación para
reforzar la abstracción
![Page 15: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/15.jpg)
Pilares de la POOEncapsulamiento
Acelera()
velocidad
Frena()
125 km/h
40 km/h
300 km/h
![Page 16: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/16.jpg)
Pilares de la POO¿Porqué utilizar
encapsulamiento?Dos grandes razones:• Control• Cambio
![Page 17: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/17.jpg)
Pilares de la POOEncapsulamiento
Acelera()
velocidad
Frena()
Controlador del Motor
• Los métodos son públicos: son accesibles desde fuera
• Los datos son privados: accesibles desde dentro
![Page 18: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/18.jpg)
Pilares de la POODatos del Objeto
• Color: Ázul• Color 2: Gris• Instrumental Digital• Ventanas eléctricas• 4 asientos
• Color: Verde• Color 2: Negro• Instrumental digital• 2 asientos
![Page 19: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/19.jpg)
Pilares de la POODatos del Objeto
Describen información para todos los objetos
• Número de llantas: 4• Capacidad del tanque: 40
litros• Tipo de Transmisión:
Automática
![Page 20: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/20.jpg)
Pilares de la POOMétodos Estáticos• Solo pueden acceder a datos
estáticos• Encapsula los datos estáticos• Son invocados en la clase, no en
el objeto. No es necesaria la creación de una instancia para invocarlos
![Page 21: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/21.jpg)
Pilares de la POOHerencia• Es “un tipo de” relación
Relación “es un”• Entre Clases• Va de la generalización a la
especialización• Clase base• Clase derivada• Hereda la implementación
![Page 22: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/22.jpg)
Pilares de la POOHerencia - Jerarquía de Clases
Transporte
Marítimo Aire Nieve Tierra
DentroAtmosfera FueraAtmosfera 1-Persona N-Personas
POO
![Page 23: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/23.jpg)
Pilares de la POOHerencia Múltiple• Singular: La clase hija deriva de
una única clase padre• Múltiple: La clase hija deriva de
varias clases padre• No es soportada por todos los
lenguajes• Puede ser confusa
![Page 24: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/24.jpg)
Pilares de la POOPolimorfismo• Literalmente significa tomar varias
formas• Tareas similares son realizadas por
métodos con mismo nombre Suma:
Enteros Decimales Fracciones
• Simplifican la tarea del desarrollador, al no tener que recordar distintos nombres para comportamientos iguales.
![Page 25: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/25.jpg)
Pilares de la POOPolimorfismo• La definición del método reside
en la clase base• La implementación del método
reside en la clase derivada• La invocación es resuelta al
momento de ejecución Early binding Late binding
![Page 26: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/26.jpg)
Resumen• ¿Qué es la Programación
Orientada a Objetos?• Clases y Objetos• Métodos y Atributos• Encapsulamiento• Herencia• Polimorfismo
![Page 27: Programación Orientada a Objetos](https://reader036.vdocumento.com/reader036/viewer/2022062520/568164d8550346895dd71972/html5/thumbnails/27.jpg)