Introduccion poo2

Preview:

Citation preview

Programación Orientada a Objetos

Introducción a la Programación Orientada a Objetos

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

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

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

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

LIBRO LUPA

Pero…Pero…

5

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

Identificando un Punto

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

7

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

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

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

Clase vs. Objeto

11

Clase: PuntoAtributos:xycolorMétodos:crearsemostrarseocultarsemoverse

Objeto 1Atributos:2145verde

Objeto 2Atributos:14290celeste

Objeto 3Atributos:20015rojo

Instancias de la Clase Punto

¿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

¿Qué desventajas tiene la POO?

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

13

Recommended