Qué es un objeto
La programación orientada a objetos consiste en ordenar datos en conjuntos modulares de elementos de información del mundo real (denominado un
dominio). Estos elementos de datos se llaman
objetos. Estos datos se agrupan de acuerdo a las características principales del mundo real de estos elementos (tamaño, color, etc.).
El enfoque de objetos es una idea que se ha probado con creces.
Simula fue el primer lenguaje de programación en implementar el concepto de
clases en 1967. En 1976,
Smalltalk implementó los conceptos de encapsulación, agrupación y herencia (los conceptos principales de la programación orientada a objetos). Por otra parte, se han implementado varios lenguajes de programación orientada a objetos a escala global (Eiffel, Objective C, Loops, etc.).
La dificultad que presenta este enfoque es la creación de una representación abstracta, en forma de objetos, de entidades que realmente existen (perro, auto, lámpara eléctrica...) o que existen virtualmente (seguridad social, clima...).
Qué conceptos caracterizan a un objeto
Un objeto se caracteriza por varios conceptos:
Atributos: datos que caracterizan al objeto. Son variables que almacenan datos relacionados al estado de un objeto.
Métodos (usualmente llamados
funciones de miembro): los métodos de un objeto caracterizan su comportamiento, es decir, son todas las acciones (denominadas
operaciones) que el objeto puede realizar por sí mismo. Estas operaciones hacen posible que el objeto responda a las solicitudes externas (o que actúe sobre otros objetos). Además, las operaciones están estrechamente ligadas a los atributos, ya que sus acciones pueden depender de, o modificar, los valores de un atributo.
Identidad: el objeto tiene una identidad, que lo distingue de otros objetos, sin considerar su estado. Por lo general, esta identidad se crea mediante un identificador que deriva naturalmente de un problema (por ejemplo: un producto puede estar representado por un código, un automóvil, por un número de modelo, etc.).