¿qué es la programación orientada a objetos?

16
¿Qué es la Programación Orientada a Objetos? La P.O.O es lo que se conoce como un paradigma o modelo de programación. Esto significa que no es un lenguaje específico, o una tecnología, sino una forma de programar, una manera de plantearse la programación. Muchos de los lenguajes que usamos hoy día lo soportan o están diseñados bajo ese modelo. Lo que caracteriza a la POO es que intenta llevar al mundo del código lo mismo que encontramos en El Mundo Real. Cuando miramos a nuestro alrededor ¿qué vemos? pues, cosas, objetos, pero podemos reconocer estos objetos porque cada objeto pertenece a una clase, eso nos permite distinguir, por ejemplo, un perro de un auto (porque son de clases diferentes)

Upload: crete

Post on 05-Jan-2016

43 views

Category:

Documents


3 download

DESCRIPTION

¿Qué es la Programación Orientada a Objetos?. L o que caracteriza a la POO es que intenta llevar al mundo del código lo mismo que encontramos en El Mundo Real . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ¿Qué es la Programación Orientada a Objetos?

¿Qué es la Programación Orientada a Objetos?

La P.O.O es lo que se conoce como un paradigma o modelo de programación. Esto significa que no es un lenguaje específico, o una tecnología, sino una forma de programar, una manera de plantearse la programación. Muchos de los lenguajes que usamos hoy día lo soportan o están diseñados bajo ese modelo.

Lo que caracteriza a la POO es que intenta llevar al mundo del código lo mismo que encontramos en El Mundo Real.

Cuando miramos a nuestro alrededor ¿qué vemos? pues, cosas, objetos, pero podemos reconocer estos objetos porque cada objeto pertenece a una clase, eso nos permite distinguir, por ejemplo, un perro de un auto (porque son de clases diferentes)

Page 2: ¿Qué es la Programación Orientada a Objetos?

¿Qué es la Programación Orientada a Objetos?

El término "orientada a objeto" significa que organizaremos el software como una colección de objetos discretos que incorporan tanto estructuras de datos como procedimientos.

El significado de Orientado a Objetos nace como un conjunto de practicas que definen un estilo de programación.

Page 3: ¿Qué es la Programación Orientada a Objetos?

¿Qué es la Programación Orientada a Objetos?

Los seres humanos percibimos el mundo como si estuviera formado por objetos: mesas, sillas, computadoras, coches, cuentas bancarias, etc. Donde consiente o inconscientemente tendemos a organizarlos, clasificarlos, relacionarlos entre si, y hasta extraemos las características más importantes dependiendo de lo que quieren hacer con ellas.

Vehículo

Animal

Figura

Page 4: ¿Qué es la Programación Orientada a Objetos?

Características de la POO

No hay un acuerdo aceptado por todo el mundo respecto a cuáles son las características que definen la POO, pero al menos todos concuerdan en estas tres:

* Abstracción.* Encapsulación.* Herencia.

Page 5: ¿Qué es la Programación Orientada a Objetos?

Abstracción.

Lo que hacemos es seccionar nuestro código en grupos de código más pequeño que, al unirlos, hacen el trabajo. Un buen ejemplo de abstracción es el cuerpo humano, aunque el cuerpo es una unidad, está dividido en lo que conocemos por sistemas (el sistema respiratorio, el sistema linfático, cardiovascular, etc., etc.).

Estos sistemas, a su vez están compuestos por otros más pequeños: los órganos, y así sucesivamente. La abstracción nos permite dividir nuestro programa en distintos objetos que se agrupan para formar cosas más complejas.

Page 6: ¿Qué es la Programación Orientada a Objetos?

Encapsulación:También conocida como ocultamiento. Cuando me acuesto a ver televisión no me preocupo del modo como éste funciona, o lo que hace para cambiar de canal o aumentar el volumen. A menos que seas experto en electrónica o técnico en televisores, te pasará lo mismo: no lo sabes y no te importa; sólo sabes que al presionar un botón ocurre la magia.

La encapsulación se encarga de mantener ocultos los procesos internos que necesita para hacer lo que sea que haga, dándole al programador acceso sólo a lo que necesita.

Page 7: ¿Qué es la Programación Orientada a Objetos?

Al hacer que la mayor parte del código esté oculto, puedes hacer cambios y/o mejoras sin que eso afecte el modo como los usuarios van a utilizar tu código. Sólo tienes que mantener igual la forma de acceder a él

(en el caso del control de la tele, que los botones sigan siendo los mismos y que el botón de “apagado” no cambie el volumen). Por cierto, estas puertas de acceso que das a los usuarios son lo que se conoce como interfaz.

Lo que hace el usuario puede ser controlado internamente (incluso sus errores), evitando que todo colapse por una intervención indeseada

(tú no quieres que tu mamá, que no tiene ni idea de electrónica, abra tu televisor y empiece a jugar con los circuitos para cambiar los canales manualmente ¿verdad?)

Ventajas de Encapsulación:

Page 8: ¿Qué es la Programación Orientada a Objetos?

Herencia:

La herencia es la capacidad que tiene una clase de derivar las propiedades y métodos de otra.

La herencia nos permite, entre otras cosas, evitar tener que escribir el mismo código una y otra vez, puesto que al definir que una categoría (que en programación llamaremos clase) pertenece a otra, automáticamente estamos atribuyéndoles las características generales de la primera, sin tener que definirlas de nuevo.

Page 9: ¿Qué es la Programación Orientada a Objetos?

* CLASE* INSTANCIA

Page 10: ¿Qué es la Programación Orientada a Objetos?

¿Qué es una Clase?

La clasificación es algo que hacemos todos los días, a cada momento. Cada vez que decimos que algo es alguna cosa, estamos clasificándolo, asociándolo a una clase.

En la POO ocurre igual, una clase no es más que una serie de código que define a todos los elementos relacionados con ella.

Así, podríamos escribir la clase ave colocando en ella todas las características que tienen las aves (pico, color, alto, ancho, patas,…) esas características las llamaremos en lenguaje de programadores, propiedades.

Pero la cosa no termina allí, resulta que las aves tienen también ciertos mecanismos específicos, como comer, dormir, reproducirse, etc. Estos mecanismos los llamamos métodos.

Por último, también sabemos que las aves reaccionan ante ciertos sucesos, como peligro, atracción, defensa… A esto lo llamaremos eventos.

Page 11: ¿Qué es la Programación Orientada a Objetos?

Entonces, vemos que una clase es algo así como el concepto de lo que queremos hacer, es como la idea (concebida al detalle) de la cosa, del objeto; pero igual que con las ideas, no puedo hacer nada directamente con una clase (puedes sentarte en una silla, pero no en tu idea de una silla). Sin embargo, esta idea será la que dé forma al objeto que crearemos (que tendrá las características, mecanismos y comportamientos que habíamos pensado en nuestra idea).

Lavadoramarcamodelocapacidad...

ProgramarPonerRopaCerrarPuertaLavar

Page 12: ¿Qué es la Programación Orientada a Objetos?

Decíamos que una clase es como la definición de un objeto, pero no es el objeto en sí, del modo como una idea no es una cosa física (el ejemplo de la silla). Así que para sentarnos necesitaremos convertir esa idea en algo, en un objeto real; a ese objeto lo llamamos instancia.

En un mismo proyecto puedo tener una o más instancias de una misma clase sin problemas.

Cada vez que creamos una nueva instancia, ésta adquiere las propiedades, métodos y eventos de la clase a la que pertenece, sin embargo, cada instancia es independiente de las otras.

¿Qué es una Instancia?

Page 13: ¿Qué es la Programación Orientada a Objetos?

Si hago algún cambio en la clase, todas las instancias de esta clase se actualizarán automáticamente; esto nos permite hacer cambios sin tener que ir a cada una de las instancias (se aplica el mismo principio de herencia, aunque a un nivel diferente).

Ventajas de las Instancias

Al ser independientes de las otras instancias, puedo darles valores diferentes sin que afecten a las demás (como tener una silla negra, una roja, una más alta, etc.). Aunque comparten la misma estructura, pueden programarse individualmente, dando versatilidad y flexibilidad al código.

Page 14: ¿Qué es la Programación Orientada a Objetos?

RECESO CORTO

Page 15: ¿Qué es la Programación Orientada a Objetos?

Clase Practica

Si no he programado antes, no podre declarar:ClasesObjetos Procedimientos almacenados.

Nuestros Primeros pasos en Visual Basic1. Instalar Visual Basic2. Hacer una calculadora basica3. Validacion de contraseñas (IF)4. Reloj (ejemplo simple de caption)

Page 16: ¿Qué es la Programación Orientada a Objetos?

1. Beneficios de la POO2. Ocultamiento de la información.3. Encapsulamiento4. Agregación5. Concurrencia6. Persistencia7. Visibilidad8. Herencia9. Polimorfismo10. Eventos11. Clase12. Objeto13. Atributos14. Métodos15. Instancia16. Accesores 17. Mutadores

18. Abstracción19. Encapsulamiento20. Modularidad21. Jerarquía22. Generalización23. Asociación24. Agregación25. Constructor26. Destructor27. Miembro Público28. Miembro Privado29. Miembro Protegido

INVESTIGUE