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