Diferencia entre revisiones de «Programación orientada a objetos»

Contenido eliminado Contenido añadido
Sin resumen de edición
Revertidos los cambios de 189.155.63.190 a la última edición de AVBOT usando monobook-suite
Línea 15:
 
Esto difiere de la [[programación estructurada]] tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada anima al programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. En la programación estructurada sólo se escriben funciones que procesan datos. Los programadores que emplean éste nuevo paradigma, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.
 
== Origen ==
Los conceptos de la programación orientada a objetos tienen origen en [[Simula|Simula 67]], un lenguaje diseñado para hacer simulaciones, creado por [[Ole-Johan Dahl]] y [[Kristen Nygaard]] del Centro de Cómputo Noruego en [[Oslo]]. Al parecer, en este centro, trabajaban en simulaciones de naves, y fueron confundidos por la explosión combinatoria de cómo las diversas cualidades de diversas naves podían afectar unas a las otras. La idea ocurrió para agrupar los diversos tipos de naves en diversas clases de objetos, siendo responsable cada clase de objetos de definir sus ''propios'' datos y comportamiento. Fueron refinados más tarde en [[Smalltalk]], que fue desarrollado en Simula en [[Xerox PARC]] (y cuya primera versión fue escrita sobre [[Basic]]) pero diseñado para ser un sistema completamente dinámico en el cual los objetos se podrían crear y modificar "en marcha" en lugar de tener un sistema basado en programas estáticos.
 
La programación orientada a objetos tomó posición como el estilo de programación dominante a mediados de los años ochenta, en gran parte debido a la influencia de [[C++]], una extensión del [[lenguaje de programación C]]. Su dominación fue consolidada gracias al auge de las [[Interfaz gráfica de usuario|Interfaces gráficas de usuario]], para las cuales la programación orientada a objetos está particularmente bien adaptada. En este caso, se habla también de [[programación dirigida por eventos]].