domingo, 3 de marzo de 2013

LENGUAJE ORIENTADO A OBJETOS

Tambien llamado POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.


Antes la programación se hacía de forma lineal y secuencial y antes ofrecían grandes ventajas, claro, al principio, el problema era cuando se volvían más y más complejos. Y el gran problema era cuando se tenían que mantener grandes cantidades de líneas de código dentro de un solo bloque, volviéndolo cada vez más complicado de lo que era antes. Entonces fue cuando entro la programación estructurada que tenía como objetivo principal separar las partes complejas en pequeños módulos que se ejecutaban conforme se requerían teniendo un diseño hecho por módulos independientes. Se vio que la forma de programación orientada estaba basada básicamente en estar descomponiendo el propio programa conduciéndonos a la programación orientada a objetos.
Gracias al objetivo de crear más programas grandes y complejos, se buscó una forma de programar de manera sencilla grandes sistemas empresariales, mostrando que la programación lineal y estructurada ya
no podía cumplir con los objetivos de los nuevo programas, naciendo de esa forma la programación orientada a objetos POO que se basa en dividir el programa en pequeñas unidades de código (llamadas objetos) que se comunican entre sí por medio de mensajes.

¿Cuáles son las ventajas de un lenguaje orientado a objetos?
Las ventajas de un lenguaje orientado a objetos son:
• Permite la reutilización de código y extensión
• Permite la creación de sistemas más elaborados.
• Relación sistema - mundo real.
• Facilita la creación de programas visuales.
• Permite la construcción de prototipos de software
• Agiliza el desarrollo

La ventaja de este modelo es que proporciona herramientas para modelar y representar un programa en el mundo real

Para poder entenderlo mejor, revisaremos los 4 conceptos básicos que son:
• Objetos: Base para entender cualquier lenguaje en el cual lo que necesitamos de saber es simplemente que es lo que hace o como interactúa dentro del mundo real. Cada objeto creado tiene un rol específico dentro del mismo programa realizando una función específica, la cual funciona por medio de dos componentes que son las características (atributos) y comportamiento (funciones o acciones que realiza).
• Clases: son características que contienen dichos objetos que pueden ser similares a otros objetos o que comparten ciertos atributos. Podría decirse que define variables
y atributos comunes a todos los objetos de cierta clase, como una plantilla que toman como base para la creación de los objetos.
• Herencia: Un concepto crucial, ya que una clase puede heredar variables, y métodos a otras clases
• Envío de mensajes: simplemente la forma en la cual se comunican los metodos de los objetos.



CÓDIGO DE HERENCIA.






Características asociadas al POO


EncapsulamientoUne en una Clase las características y comportamientos, las cuales son variables y métodos. En los lenguajes de antes que eran los estructurados era imposible, mostrando una gran ventaja y utilidad, ya que puede manejar complejidades. Lo que hace es que muestra lo que hace mas no como lo hace
Ocultamiento.
Simplemente oculta los detalles internos del comportamiento de una Clase y muestra únicamente detalles que sean necesarios para el resto del sistema. Nos permite el ocultamiento 2 cosas: restringir (hay comportamiento que es privado para el usuario, no podrá accesar a ello) y controlar (no tendrá el poder para manipularlo) el uso de la Clase. En Java el ocultamiento se logra usando las palabras reservadas: public, private y protected delante de las variables y métodos.
Abstracción.
Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características.

Polimorfismo.
Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O, dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado.

Herencia.
Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. 




BILBIOGRAFIA.

http://www.monografias.com/trabajos73/tipos-lenguajes-programacion/tipos-lenguajes-programacion2.shtml

http://es.wikipedia.org/wiki/Herencia_(inform%C3%A1tica)

http://es.wikipedia.org/wiki/Polimorfismo_(programaci%C3%B3n_orientada_a_objetos)

http://www.taringa.net/posts/ciencia-educacion/9145179/Paradigma-de-Programacion.html

http://html.rincondelvago.com/lenguajes-de-programacion_historia-y-evolucion.html

No hay comentarios:

Publicar un comentario