miércoles, 17 de octubre de 2012

Programacion Orientada a Objetos

-->
PROGRAMACIÓN ORIENTADA A OBJETOS.
http://elvex.ugr.es/decsai/builder/intro/oop/pilares.gif
Es una técnica de programación que aumenta la velocidad de desarrollo de los programas y hace que su mantenimiento sea más fácil al volver a utilizar “objetos” que tienen comportamientos, características y relaciones asociadas con el programa. Los objetos son organizados en grupos que estén disponibles para la creación y mantenimiento de aplicaciones.
La programación orientada a procedimientos clásica presenta ciertos problemas que han ido haciéndose cada vez mas graves, a medida que se construyan aplicaciones y sistemas informáticos más complejos, entre los que destacan los siguientes:

  • Es difícil modificar y extender los programas, pues suele haber datos compartidos por varios subprogramas, que introducen interacciones ocultas entre ellos.
  • Es difícil mantener los programas. Casi todos los sistemas informáticos grandes tienen errores ocultos, que surgen a la luz hasta después de muchas horas de funcionamiento.
  • Es difícil reutilizar los programas. Es prácticamente imposible aprovechar en una aplicación nueva las subrutinas que se diseñaron para otra.


La programación orientada a objetos (OOP, por las siglas ingles Object-Oriented Programming) es una nueva forma de programar que proliferó a partir de los años ochenta y trata de encontrar solución a estos problemas utilizando los siguientes conceptos:

Objetos.
Entidades complejas provistas de datos(propiedades, atributos) y comportamiento (funcionalidad, programas, métodos). Corresponden a los objetos reales del mundo que nos rodea.

Clases.
Conjunto de objetos comparten propiedades y comportamientos.

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.

Encapsulamiento
Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones.

Polimorfismo.
EL polimorfismo permite que una misma operación pueda llevarse acabo de forma diferente en clases diferentes, dependiendo de la referencia del objeto y el número de argumentos. Por ejemplo la operación mover, es distinta para una pieza de ajedrez que para una ficha de damas, pero ambos objetos pueden ser movidos. Una operación es una acción o transformación que realiza o padece un objeto.