JAVA Introducción
Agenda
● ¿Qué es paradigma?
● Paradigma Orientado a Objetos.
● Lenguaje de Programación Orientado a Objetos.
● Programación Orientada a Objetos:
○ Abstracción
○ Encapsulamiento
○ Herencia
○ Polimorfismo
Paradigma
Paradigma: Forma de entender y representar la realidad.
Principales paradigmas de programación:
- Paradigma Funcional.
- Paradigma Lógico.
- Paradigma Imperativo o Procedural.
- Paradigma Orientado a Objetos.
Agenda
● ¿Qué es paradigma?
● Paradigma Orientado a Objetos.
● Lenguaje de Programación Orientado a Objetos.
● Programación Orientada a Objetos:
○ Abstracción
○ Encapsulamiento
○ Herencia
○ Polimorfismo
Paradigma Orientado a Objetos (1)
Metodología de desarrollo de aplicaciones en la cual éstas se organizan como colecciones de cooperativas de objetos, cada uno de los cuales representan una instancia de alguna clase.
Objeto
Objeto
Objeto
Paradigma Orientado a Objetos (1)
Problema: Pedro va a la florería de Juan, compra un ramo para su novia y detalla la dirección de recepción.
Mecanismo para resolver un problema:
- Agente → Juan (dueño de la florería)
- Enviar mensaje → Enviar flores a la novia de Pedro
- Es la responsabilidad de Juan que la novia de Pedro reciba el ramo de flores → Método para realizar la tarea.
Agenda
● ¿Qué es paradigma?
● Paradigma Orientado a Objetos.
● Lenguaje de Programación Orientado a Objetos.
● Programación Orientada a Objetos:
○ Abstracción
○ Encapsulamiento
○ Herencia
○ Polimorfismo
Lenguaje de Programación OO
No basta un lenguaje OO para programar orientado a objetos, para eso hay que seguir un paradigma orientado a objetos.
- Se llama así a cualquier lenguaje de programación que implemente los conceptos definidos en la programación orientada a objetos.
Ejemplos: C++, C#, PHP, Java.
Programación Orientada a Objetos
POO
Abstracción
Encapsulamiento
Herencia
Polimorfismo
Agenda
● ¿Qué es paradigma?
● Paradigma Orientado a Objetos.
● Lenguaje de Programación Orientado a Objetos.
● Programación Orientada a Objetos:
○ Abstracción
○ Encapsulamiento
○ Herencia
○ Polimorfismo
Abstracción
- Consiste en aislar un elemento de su contexto → ¿Qué hace?
- Se enfoca en la visión externa de un objeto → Separar el comportamiento específico.
- Quitar las propiedades y acciones de un objeto para dejar solo aquellas que sean necesarias.
La abstracción es clave para diseñar un buen software.
Abstracción - Ejemplo
- ¿Qué características podemos abstraer de los animales?
- - Características: ...
- Comportamiento: ...
Agenda
● ¿Qué es paradigma?
● Paradigma Orientado a Objetos.
● Lenguaje de Programación Orientado a Objetos.
● Programación Orientada a Objetos:
○ Abstracción
○ Encapsulamiento
○ Herencia
○ Polimorfismo
Encapsulamiento
- Ocultamiento de los datos de un objeto de manera que sólo se pueda cambiar mediante las operaciones definidas por ese objeto.
- Empaquetamiento → Objetos aislados desde el exterior.
Objeto
Objeto
Objeto
Datos
Datos
Datos
Metodo
Metodo
Metodo
Metodo
Metodo
Metodo
Encapsulamiento
Perro
getNombre()
nombre
comer()
setRaza(raza)
setNombre(nombre)
getRaza()
raza
Agenda
● ¿Qué es paradigma?
● Paradigma Orientado a Objetos.
● Lenguaje de Programación Orientado a Objetos.
● Programación Orientada a Objetos:
○ Abstracción
○ Encapsulamiento
○ Herencia
○ Polimorfismo
Herencia Ejemplo
Animal
Doméstico
Salvaje
Agenda
● ¿Qué es paradigma?
● Paradigma Orientado a Objetos.
● Lenguaje de Programación Orientado a Objetos.
● Programación Orientada a Objetos:
○ Abstracción
○ Encapsulamiento
○ Herencia
○ Polimorfismo
Polimorfismo
- Varias formas de responder el mismo mensaje → Muchos mensajes con el mismo nombre en diferentes clases.
- Formas de polimorfismo:
- Sobre-carga de métodos: los mensajes se diferencian en los parámetros.
- Sobre-escritura de métodos: un hijo sobrescribe un método de la clase padre.
- Vinculación dinámica: Herencia
Polimorfismo - Ejemplo
Animal
Doméstico
Salvaje
comer()
comer()
comer()
Java Fundamentals
By Henry
Java Fundamentals
- 237