Upload
ayreonmx
View
453
Download
4
Embed Size (px)
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