Introduccion poo2

13
Programación Orientada a Objetos Introducción a la Programación Orientada a Objetos

Transcript of Introduccion poo2

Page 1: Introduccion poo2

Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos

Page 2: Introduccion poo2

Contenidos

• Programación Estructurada• ¿Qué es POO?. • Clases y Objetos. • Atributos. Operaciones, Métodos y Servicios. Mensajes. • Abstracción, Encapsulamiento, Herencia y Polimorfismo.• Sobrecarga. • Relaciones entre Clases. • Ventajas y Desventajas de la POO.

2

Page 3: Introduccion poo2

La Programación Estructurada ...La Programación Estructurada ...import java.io.*;public class Ejemplo { static BufferedReader br = new BufferedReader(new InputStreamReader (System.in)); public static int leeNum()throws IOException { int m; do{ System.out.print("Ingrese Mes: "); m = Integer.parseInt(br.readLine()); }while (m<1 || m>12); return m; } public static void imprimeNombre(int m){ switch(m){ case 1: System.out.println("Enero"); break; case 2: System.out.println("Febrero"); break; case 3: System.out.println("Marzo"); break; case 4: System.out.println("Abril"); break; case 5: System.out.println("Mayo"); break; … case 12: System.out.println("Diciembre"); break; } } public static void main(String[] args) throws IOException{ int m; m = leeNum(); imprimeNombre(m); } }

3

Page 4: Introduccion poo2

La programación estructurada establece un orden particular.

Maneja por separado al código y a las estructuras de datos

Los algoritmos trabajan sobre las estructuras de control.

Este tipo de programación da mayor importancia al código que a las estructuras de datos.

La Programación Estructurada ...La Programación Estructurada ...

Algoritmos + Estructuras de Datos = Programas4

Page 5: Introduccion poo2

En contraste con este tipo de programación se empieza a reparar en los objetos que nos rodean :

LIBRO LUPA

Pero…Pero…

5

Page 6: Introduccion poo2

La POO fue concebida por quienes reconocían el mundo como poblado de objetos que interactuaban entre si de acuerdo a su naturaleza.

Los procedimientos aplicados a los objetos depende de la naturaleza de los mismos, por ejemplo no se puede imprimir un auto, no se puede conducir un foco, etc. estas acciones son inapropiadas porque no forman parte del comportamiento natural de los objetos.

La Programación Orientada a La Programación Orientada a ObjetosObjetos

Datos + Código = Objeto6

Page 7: Introduccion poo2

Identificando un Punto

• ¿Un Punto en pantalla es un Objeto?• ¿Qué conozco del Punto?• ¿Qué puedo hacer con ese punto?

7

Page 8: Introduccion poo2

Clase Punto

8

¿Qué conozco del Punto?x, y, color

¿Qué comportamiento tiene el Punto?crearsemostrarseocultarsemoverse

¿Qué debe hacerse para mover un Punto a una nueva posición?

Debe ocultarse de la posición actualModificar los valores de sus atributos

x, yMostrarse en la nueva posición

x

yAtributos

Métodos

Page 9: Introduccion poo2

Concepto de Clase

• Nivel superior de abstracción que se corresponde con un conjunto de objetos que poseen las mismas propiedades y comportamientos.

• La clase posee un tipo de dato y tiene asociado atributos y operaciones.

9

Page 10: Introduccion poo2

Concepto de Objeto

• Un objeto es un ejemplar de un concepto del mundo real que puede ser modelado por una clase.

• Un Objeto tiene un identificador que nunca cambia, comportamientos y atributos que son específicos para esa clase, pero cada objeto tiene determinados valores para sus atributos.

10

Page 11: Introduccion poo2

Clase vs. Objeto

11

Clase: PuntoAtributos:xycolorMétodos:crearsemostrarseocultarsemoverse

Objeto 1Atributos:2145verde

Objeto 2Atributos:14290celeste

Objeto 3Atributos:20015rojo

Instancias de la Clase Punto

Page 12: Introduccion poo2

¿Qué ventajas tiene la POO?• Reusabilidad.• Extensibilidad.• Facilidad de mantenimiento.• Portabilidad.• Rapidez de Desarrollo.• Más fáciles de entender porque se utilizan

abstracciones más cercanas a la realidad.

12

Page 13: Introduccion poo2

¿Qué desventajas tiene la POO?

• Curvas de aprendizaje largas• Dificultad en la abstracción

13