Diseño y programación orientado a objetos

Recientemente, un enfoque, el diseño y la programación orientada a objetos, se ha mostrado particularmente prometedor para ayudar a los fabricantes de software a lograr los objetivos de fiabilidad, rendimiento, adaptabilidad, comprensibilidad y reutilidad.

El diseño y la programación de software orientado a objeto anima a pensar en el software con un modelo muy próximo a la forma en que pensamos, e interaccionamos con él, en el mundo real.

Programación orientada a objetos

En edad temprana, aprendemos acerca de los objetos y de cómo se manipulan. Los bebés, por ejemplo, aprenden que si mueven un sonajero hará ruido. Más tarde, a medida que se desarrollan las capacidades cognitivas, somos conscientes de que los objetos tienen propiedades y empezamos a pensar en ellos de forma abstracta.

Por ejemplo, un bebé crecido pronto se da cuenta de que hacer mido es una capacidad de todos los sonajeros.

Para ilustrar como la visión del mundo, como un conjunto de objetos, facilita el manejo de su complejidad, consideremos una actividad que muchos de nosotros hacemos. Usted está sentado en su casa mirando el televisor y recuerda que su programa favorito empezará pronto en un canal distinto.

POO

Tú has sido capaz de hacer que dos objetos interaccionen y ejecuten una actividad compleja sin comprender el funcionamiento interno de ninguno de ellos. Fue capaz de hacerlo así porque disponía de las abstracciones apropiadas para ambos objetos.

Además, su abstracción mental del mando a distancia implica que se puede ir a casa de un amigo, o amiga, y ser capaz de usar su mando a distancia y su televisor, incluso aunque tengan una marca de televisor distinta. Objetos similares muestran un comportamiento similar.

Esta forma de afrontar nuestro complejo mundo puede ser aplicada al diseño y a la programación de software. Un paso clave en el desarrollo de un sistema complejo usando diseño orientado a objetos es determinar los objetos que constituyen el sistema. Creando cuidadosamente abstracciones de estos objetos y separando su implementación interna de su comportamiento externo, se puede manejar la complejidad de un sistema software de gran tamaño.

Por tanto, ¿a qué nos referimos exactamente como un objeto? Ciertamente, las cosas fisicas son objetos. Un balón, un archivador, una agenda, un árbol y un computador son todos objetos. ¿Qué pasa con cosas como un número, una palabra, una cuenta bancaria o una nota musical? No son objetos fisicos, pero la interfaz de un objeto, se puede usar dicho se sepa cómo funciona. Cuando apretas los manda a distancia enviase algunos mensajes bien un objeto físico con varias propiedades.