Programación Orientada a Objetos Poo
No debemos cesar en la exploración y el final de toda nuestra exploración será llegar a donde comenzamos y conocer el lugar la primera vez!
La programación Orientada a Objetos (OOP — por sus siglas en Inglés) es un método de programación que imita íntimamente la forma en la que todos hacemos las cosas. Es una evolución natural de lasinnovaciones anteriores al diseño de lenguajes de programación: Es más estructurada que los intentos anteriores en la programación estructurada; y es más modular y abstracta que los intentos anteriores en abstracción de datos y detalles de encapsulamiento.
Porqué Se Demoró Tanto?
Si la programación orientada a objetos es grandiosa, porqué no la está usando todo el mundo? Porqué todavía no hasido comprendido a pesar de las raíces de los 60s y 70s?
La primera razón es que tanto el sistema Simula67 y el sistema Smalltalk-80 fueron relativamente inaccesibles a la comunidad del software norte americano hasta los 80s. El trabajo pionero sobre Smalltalk-80, por ejemplo, se mantuvo en el Centro de Investigación de la Xerox en Palo Alto hasta que salió el ejemplar de Byte en Agosto de 1981.Y fue hace tres años solamente que se dio la primera conferencia en Lenguajes de Programación Orientados a Objetos, Aplicaciones y Sistemas (OOPSLA —por sus siglas en Inglés). Sólo hace cinco años que lenguajes como Objective-C, C++, y Eiffel incluso ni existían.
La segunda razón es que muchos de aquellos que se iniciaron en Smalltalk pensaron en éste como solamente un sistema de ventanasen vez de un ambiente de programación revolucionario. Esto se ejemplificaba por las muchas interfaces que usaban ventanas y Mouse. Debería notar, sin embargo, que mientras muchas interfaces copiaron la interface de usuario de Smalltalk, ninguno de estos sistemas le permiten tocar o modificar los objetos básicos. En muchos casos, la flexibilidad de los sistemas abiertos como Smalltalk pueden serlogrados solamente con hardware potente. Los procesadores actuales como el Intel 80386 y el Motorola 68020 dan la medida.
—Ver artículo de Dave Thomas 'What's in an Object?' Byte 1989.
Existen tres propiedades principales que caracterizan a un lenguaje orientado a objetos:
Encapsulamiento: Combinando un registro con los procedimientos y funciones que lo manipulan para formarun nuevo tipo de datos - un objeto.
Herencia: Definiendo un objeto y luego usándolo para construir una jerarquía de objetos descendientes con acceso a los datos y código que hereda de sus ancestros.
Polimorfismo: Dando a una acción un nombre que es compartido ascendente y descendentemente en la jerarquía definida de objetos que se esté usando, pero en cada objeto, define algunaacción específica, implementada en una forma que es adecuada únicamente a si mismo.
El desafío de la programación orientada a objetos es que requiere que usted aparte los hábitos y formas de pensar sobre la programación que ha sido estándar por muchos años, además la potencia de la programación orientada a objetos es que proporciona al usuario de ésta una mayor estructura, modularidad, másabstracción y quizás lo más importante, la reusabilidad en el código fuente que se genera (ya que podemos ver los objetos como cajas negras -o entes abstractos- de los cuales conocemos que existen pero no que hay por dentro de ellas, y por consiguiente, si no me agrada alguna acción del objeto mismo, entonces lo reescribo, cambiando su acción original -Polimorfismo-, o usar lo que existe y extenderla funcionalidad del objeto mismo -Herencia-, la programación orientada a objetos anima a realizar la utilización de código reusable en vez de la reinvención), fomenta además la realización de prototipos y de embellecimiento del código, recompensa el uso de funciones genéricas. Por lo tanto debe esforzarse en olvidar lo que la gente la haya dicho acerca de programación orientada a objetos. La...
Regístrate para leer el documento completo.