270 likes | 629 Views
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.
E N D
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 ¿Qué es lo que ves?
Conceptos Fundamentales ¿Qué es lo que ves?
Conceptos Fundamentales ¿Qué tienen en común?
Conceptos Fundamentales ¿Qué tienen en común?
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
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
Conceptos Fundamentales Constructores 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
Conceptos Fundamentales ¿Qué es un objeto?
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ón • Fija • Variable
Pilares de la POO Herencia Polimorfismo Encapsulamiento Abstracción
Pilares de la POO Abstracció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
125 km/h 300 km/h 40 km/h Pilares de la POO Encapsulamiento Acelera() velocidad Frena()
Pilares de la POO ¿Porqué utilizar encapsulamiento? Dos grandes razones: • Control • Cambio
Pilares de la POO Encapsulamiento • Los métodos son públicos: son accesibles desde fuera • Los datos son privados: accesibles desde dentro Acelera() velocidad Frena() Controlador del Motor
Pilares de la POO Datos del Objeto • Color: Ázul • Color 2: Gris • Instrumental Digital • Ventanas eléctricas • 4 asientos • Color: Verde • Color 2: Negro • Instrumental digital • 2 asientos
Pilares de la POO Datos 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
Pilares de la POO Mé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
Pilares de la POO Herencia • 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
Pilares de la POO Herencia - Jerarquía de Clases Transporte Marítimo Aire Nieve Tierra DentroAtmosfera FueraAtmosfera 1-Persona N-Personas POO
Pilares de la POO Herencia 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
Pilares de la POO Polimorfismo • 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.
Pilares de la POO Polimorfismo • 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 • Earlybinding • Late binding
Resumen • ¿Qué es la Programación Orientada a Objetos? • Clases y Objetos • Métodos y Atributos • Encapsulamiento • Herencia • Polimorfismo