17/10/2012

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

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

Anteriormente comentamos las ventajas de PHP, ActionScript y JavaScript, tres de los lenguajes de programación más utilizados en desarrollo web.  A pesar de que sus aplicaciones habituales pueden ser bastante diferentes, estos tres lenguajes tienen algo en común: exponen características de la programación orientada a objetos. Pero ¿qué significa este concepto?

La orientación a objetos es uno de los muchos paradigmas de programación que existen. Un paradigma de programación es un modelo que guía la resolución de problemas computacionales, y que en muchos casos define la sintaxis de un lenguaje. Es decir, a través de la sintaxis que impone, un lenguaje de programación puede orientarse hacia algún estilo de resolución de problemas particular. Si bien la mayoría de los lenguajes combina características de varios paradigmas, el más popular en la actualidad es el orientado a objetos, uno de los cuatro principales junto con el lógico, el imperativo y el funcional.

Tradicionalmente, los programas consistían en una sucesión de tareas a ejecutarse. Pero la programación orientada a objetos propone un modelo diferente: el programa se compone de un conjunto de entidades, llamadas objetos, que se comunican y realizan pedidos entre sí a través de mensajes. Cada objeto cuenta con características propias (atributos) y es capaz de realizar ciertas acciones (métodos). Si un objeto requiere obtener el resultado de cierta operación sobre un conjunto de datos, no tiene más que pedírselo a un objeto que pueda realizar esa operación. El objeto remitente no tiene por qué conocer la forma en que el objeto receptor desempeña la acción. Los objetos actúan como un equipo de trabajo con una estricta división de tareas.

El paradigma orientado a objetos nos permite modelar un problema de una forma amena, que reproduce con mayor fidelidad los mecanismos del mundo real. Todos los elementos que componen el Universo tienen características y comportamiento propios, y se relacionan con otros elementos de múltiples formas; por lo tanto, pueden ser fácilmente representados como objetos. Crear un conjunto de objetos que refleje adecuadamente el problema real, y que sepan organizarse entre sí para resolverlo, depende en buena medida de la imaginación del programador.

0

angularjs Aplicaciones en Facebook aplicaciones mobile behavioral targeting Botones Call-to-action breadcrumbs breadcrumbs web búsqueda de personal búsqueda facetada Call-to-action buttons Client-side cliente-destacado cms a medida coding comercio electrónico content marketing CSS3 PIE cuanto debe pesar un sitio data-driven web design Datos estructurados Defacement Denegación de servicio Desarrollar una aplicación web desventajas de PhoneGap diseñar newsletters diseño web diseño web argentina diseño web esqueuomórfico Diseño web responsive Diseño web responsivo diseño web santa fe diseño web Smart TV diseño web televisores DOM desde PHP enlaces rotos filtros de búsqueda flash flat web design formularios sitio web fragmentos enriquecidos función de autocompletar futuro de la realidad aumentada html HTML5 html5shiv inbound marketing Initializr interfaces Web para televisores javascript jobs jQuery Mobile Mapbox maquetado html/css maquetador web masonry layout menú de navegación menú desplegable Metodologías ágiles Modernizr MVC Navegación por teclado oferta laboral OpenStreetMap paginas de Facebook Paper js Paper js framework personas Phishing plan de QA Polyfills polymer portfolio-destacados portfolio-inicio programacion de CMS Programadores WordPress página de contacto página de error 404 que es Backbone.js Realidad aumentada Resultados instantáneos server-side skeuomorphic design sliders y usabilidad soporte Internet Explorer Storytelling Underscores usabilidad usabilidad buscadores user-centered design ux velocidad de carga web Vendor prefixes ventajas jQuery Mobile Ventanas integradas versiones antiguas de Internet Explorer WAI-ARIA web components web imprimible Web Semántica WordPress para ecommerce