Introduccion poo2
Transcript of Introduccion poo2
![Page 1: Introduccion poo2](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/1.jpg)
Programación Orientada a Objetos
Introducción a la Programación Orientada a Objetos
![Page 2: Introduccion poo2](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/2.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/3.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/4.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/5.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/6.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/7.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/8.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/9.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/10.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/11.jpg)
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](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/12.jpg)
¿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](https://reader036.fdocumento.com/reader036/viewer/2022062405/557bdf26d8b42a03748b4cf6/html5/thumbnails/13.jpg)
¿Qué desventajas tiene la POO?
• Curvas de aprendizaje largas• Dificultad en la abstracción
13