poo

22
Introducción a la Programación Introducción a la Programación Orientada a Objetos Orientada a Objetos Ing. Daniel Cáceres

Upload: daniel-caceres

Post on 14-Jun-2015

5.609 views

Category:

Education


0 download

DESCRIPTION

Introducción a la Programación Orientada a Objetos. La sexta de una serie de nueve presentaciones para introducir al mundo de JAVA a alumnos de secundaria. NOTA: Por el público al que se dirige no se habla de polimorfismo.

TRANSCRIPT

Page 1: POO

Introducción a la ProgramaciónIntroducción a la ProgramaciónOrientada a ObjetosOrientada a Objetos

Ing. Daniel Cáceres

Page 2: POO

Un poco de Historia...Un poco de Historia...

La PDP-1 (Programmed Data Processor-1) es la primera computadora digital producida en 1960.

Es la primera computadora en aplicar conceptos de POO (sin saberlo).

Es pionera en crear la cultura hacker.

Page 3: POO

¿Qué es la POO?¿Qué es la POO? Es un paradigma o modelo

de programación o sea una manera de plantearse la programación. No es una tecnología definida, o un programa; Es una característica que tienen muchos lenguajes de programación.

La programación Orientada a Objetos (POO) es más cercana al mundo real que la programación estructurada. Ésta hace énfasis en las cosas mientras que aquella en los procedimientos. ¡Qué fumada se echaron!

Page 4: POO

¿Qué es la POO?¿Qué es la POO?

En el mundo real ¿qué vemos? cosas, objetos.

Cada objeto pertenece a una clase de objetos.

Ese es el principio básico de la POO.

En la foto: una simple bicicleta.

Page 5: POO

Bicicleta eléctrica Bicicleta caquera

Bicicleta de montaña Bicicleta para niños

Page 6: POO

Todas corresponden al concepto de bicicleta. Esa es la clase de objeto que son.

Page 7: POO

¿Qué es la POO?¿Qué es la POO?

En JAVA podemos crear OBJETOS instanciándolos de una CLASE.

Podríamos por ejemplo tener una clase que se llame BICICLETA, e instanciar diez objetos para que tengamos una cada uno.

Page 8: POO

Carácterísticas de la POOCarácterísticas de la POO

Las características de la POO son fundamentalmente tres:› Abstracción› Herencia› Encapsulamiento

Page 9: POO

Un EjemploUn EjemploMira el ejemplo de las bicicletas “Bicicleta.java” y “PruebaBicicleta.java”.

Page 10: POO

Ejemplo 1Ejemplo 1

Conceptos claves:› Propiedad: Son los datos que me interesan

del objeto.Las propiedades de Bicicleta son: cambio, velocidad y engranaje.

› Método es lo que el objeto “hace”. Por medio de los métodos puede cambiar las propiedades, mostrarlas, hacer procedimientos, etc.

Page 11: POO

Ejemplo 1Ejemplo 1

Otro concepto clave:› Instanciar: Crear un objeto a partir de una

clase.

Los objetos “instanciados” son birula1, birula2 y birulaCaquera.

OJO: Varias variables pueden referenciar un mismo objeto.

Page 12: POO

ConstructoresConstructoresAntes de continuar, fijarse en el ejemplo 2.

Los constructores sirven para establecer el estado inicial del objeto al momento de instanciarlo.

Al ver Bicicleta2 vemos que podemos hacer más de un contructor.

Page 13: POO

HerenciaHerencia

Una clase puede “heredar” todas las características de otra.

Al heredar, obtiene todas las propiedades y el comportamiento de la clase padre.

En java se suele llamar superclase y subclase.

Otros dicen padre e hijo.

Page 14: POO

Ejemplo 3Ejemplo 3

En el ejemplo tres se declaran tres clases más que “heredan” de Bicicleta:› Bicicleta de Montaña› Bicicleta de Camino› Bicicleta de Dos Asientos

Page 15: POO

Ejemplo 3Ejemplo 3

Aspectos que hay que fijarse:› La palabra extends quiere decir que

BicicletaDeMontaña recibe todos sus miembros de Bicicleta.› La montañesa tiene velocidad y todas las

propiedades de una bicicleta.› La palabra super manda a llamar al

constructur de la superclase.

Page 16: POO

AbstracciónAbstracción

Cuando vamos a programar con POO se vale usar la máxima de la guerra: divide y vencerás.

Tenemos que partir nuestro código en grupos de cósigo más pequeños que, al unirlos, hacen el trabajo.

Un buen ejemplo de abstracción es el cuerpo humano.

Page 17: POO

AbstracciónAbstracción

Básicamente es la capacidad de separar los elementos (al menos mentalmente) para poder verlos de forma singular. Como cuando describimos el cuerpo humano y decimos cabeza, brazo(s), pierna(s), etc.

Page 18: POO

Ejemplo 4: AbstracciónEjemplo 4: Abstracción

Si intentáramos hacer un programa para el proceso de admisión de Kinal, ¿Cómo sería utilizando lenguaje estructurado?› Muchos ciclos, miles de decisiones…

Con la POO, podemos dividir el problema creando una clase para cada personaje importante, y para cada cosa importante. Las clases podrían ser:› Alumno, Profesor, Examen…

Page 19: POO

EncapsulamientoEncapsulamiento

La Programación Orientada a Objetos hace que el código se desarrolle por cubículos.

Los demás no necesariamente tienen por que ver mi código, y viceversa.

Es más seguro.

Page 20: POO

EncapsulamientoEncapsulamiento

Las propiedades que le interesan a otras clases las hago públicas con public.

A las propiedades que no le interesan a los demás las hago private.

También existe protected y dejarlo sin nada tiene otro significado.

Page 21: POO

Ejemplo 5: EncapsulamientoEjemplo 5: Encapsulamiento

En el ejemplo borré intencionalmente el archivo “usuario.java”, pero está la clase “usuario.class”.

Al ejecutar el programa, no se puede saber cual es la contraseña.

Se dice que la contraseña está “encapsulada”.

Page 22: POO

Resumen: CLASESResumen: CLASESpublic class nombre_clase extends superclase { // Propiedades public int propiedad1; public String propiedad2; … // Constructor(es) public nombre_clase (parámetros…) { … } public nombre_clase (parámetros…) { … } // Métodos public int método1 (parámetros…) { … } public String método2 (parámetros…) { … } public void método3 (parámetros…) { … }}