Objeto (informática)


En informática , un objeto puede ser una variable , una estructura de datos , una función o un método . Como regiones de la memoria , contienen valor y se hace referencia a ellos mediante identificadores .

En el paradigma de la programación orientada a objetos , el objeto puede ser una combinación de variables, funciones y estructuras de datos; en particular , en las variaciones del paradigma basadas en clases, se refiere a una instancia particular de una clase .

En el modelo relacional de administración de bases de datos , un objeto puede ser una tabla o columna , o una asociación entre datos y una entidad de base de datos (como relacionar la edad de una persona con una persona específica). [1]

Una distinción importante en los lenguajes de programación es la diferencia entre un lenguaje orientado a objetos y un lenguaje basado en objetos. Un lenguaje generalmente se considera basado en objetos si incluye las capacidades básicas para un objeto: identidad, propiedades y atributos. Un lenguaje se considera orientado a objetos si está basado en objetos y también tiene la capacidad de polimorfismo , herencia, encapsulación y, posiblemente, composición. El polimorfismo se refiere a la capacidad de sobrecargar el nombre de una función con múltiples comportamientos según los objetos que se le pasan. El paso de mensajes convencional discrimina solo en el primer objeto y considera que está "enviando un mensaje" a ese objeto. Sin embargo, algunos lenguajes de programación orientada a objetos como Flavours y Common Lisp Object System(CLOS) habilita la discriminación en más del primer parámetro de la función. [2] La herencia es la capacidad de subclasificar una clase de objeto, de crear una nueva clase que es una subclase de una existente y hereda todas las restricciones de datos y comportamientos de sus padres, pero también agrega nuevos y / o cambia uno o más de ellos. . [3] [4]

La programación orientada a objetos es un enfoque para diseñar sistemas de software reutilizables modulares. El enfoque orientado a objetos es una evolución de las buenas prácticas de diseño que se remontan a los inicios de la programación informática. La orientación a objetos es simplemente la extensión lógica de técnicas más antiguas, como la programación estructurada y los tipos de datos abstractos . Un objeto es un tipo de datos abstracto con la adición de polimorfismo y herencia .

En lugar de estructurar programas como código y datos, un sistema orientado a objetos integra los dos utilizando el concepto de "objeto". Un objeto tiene estado (datos) y comportamiento (código). Los objetos pueden corresponder a cosas que se encuentran en el mundo real. Entonces, por ejemplo, un programa de gráficos tendrá objetos como círculo , cuadrado , menú . Un sistema de compras en línea tendrá objetos como carrito de compras, cliente, producto . El sistema de compras admitirá comportamientos como realizar pedidos , realizar pagos y ofrecer descuentos . Los objetos están diseñados como jerarquías de clases. Entonces, por ejemplo, con el sistema de compras, puede haber clases de alto nivel, como productos electrónicos ., producto de cocina y libro . Puede haber más refinamientos, por ejemplo, en productos electrónicos : reproductor de CD, reproductor de DVD , etc. Estas clases y subclases corresponden a conjuntos y subconjuntos en lógica matemática. [5] [6]