La programación orientada a objetos
según sus siglas en inglés) es un paradigma de programación
que usa objetos
en sus interacciones, para diseñar aplicaciones y programas informáticos.
Está basada en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.
Su uso se popularizó a principios de la década de 1990. En la actualidad, existe una gran variedad de lenguajes de programación
que soportan la orientación a objetos.
Los
objetos son entidades que tienen un determinado "estado",
"comportamiento (método)" e "identidad":
- El estado está compuesto de datos o informaciones; serán uno o varios atributos a los que se habrán asignado unos valores concretos (datos).
- El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él.
- La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras palabras, es su identificador (concepto análogo al de identificador de una variable o una constante).
Un objeto contiene toda la información que permite
definirlo e identificarlo frente a otros objetos pertenecientes a otras clases
e incluso frente a objetos de una misma clase, al poder tener valores bien
diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de
interacción llamados métodos,
que favorecen la comunicación entre ellos. Esta comunicación favorece a su vez
el cambio de estado en los propios objetos. Esta característica lleva a
tratarlos como unidades indivisibles, en las que no se separa el estado y el
comportamiento.
Los métodos (comportamiento) y atributos
(estado) están estrechamente relacionados por la propiedad de conjunto. Esta
propiedad destaca que una clase requiere de métodos para poder tratar los
atributos con los que cuenta. El programador debe pensar indistintamente en ambos conceptos,
sin separar ni darle mayor importancia a alguno de ellos. Hacerlo podría
producir el hábito erróneo de crear clases contenedoras de información por un
lado y clases con métodos que manejen a las primeras por el otro. De esta
manera se estaría realizando una "programación estructurada
camuflada" en un lenguaje de POO.
La programación orientada a objetos 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 solo se escriben funciones que procesan datos. Los
programadores que emplean POO, en cambio, primero definen objetos para luego
enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.
No hay comentarios.:
Publicar un comentario