En el desarrollo de software , un objeto es una entidad semántica que posee estado , comportamiento e identidad. [ 1 ] [ 2 ] [ 3 ] [ 4 ] Un objeto puede modelar alguna parte de la realidad o ser una invención del proceso de diseño, cuyas colaboraciones con otros objetos similares sirven como mecanismos que proporcionan un comportamiento de nivel superior. Dicho de otro modo, un objeto representa un elemento, unidad o entidad individual e identificable, ya sea real o abstracta, con un rol bien definido en el dominio del problema. [ 1 ] : 76
Un lenguaje de programación se puede clasificar según su soporte para objetos. Un lenguaje que proporciona una estructura de encapsulación para el estado, el comportamiento y la identidad se clasifica como basado en objetos . Si el lenguaje también proporciona polimorfismo y herencia , se clasifica como orientado a objetos . [ 5 ] Un lenguaje que admite la creación de un objeto a partir de una clase se clasifica como basado en clases . Un lenguaje que admite la creación de objetos mediante un objeto plantilla se clasifica como basado en prototipos .
El concepto de objeto se utiliza en muchos contextos de software diferentes, entre ellos:
- Posiblemente, el uso más común sea el de objetos en memoria en un programa informático escrito en un lenguaje orientado a objetos.
- Los sistemas de información pueden modelarse con objetos que representan sus componentes e interfaces. [ 1 ] : 39
- En el modelo relacional de gestión de bases de datos , aspectos como la tabla y la columna pueden actuar como objetos. [ 6 ]
- Los objetos de un sistema de computación distribuida tienden a ser de mayor granularidad, más duraderos y más orientados a servicios que los objetos de programación.
En lenguajes de programación puramente orientados a objetos, como Java y C# , todas las clases pueden formar parte de un árbol de herencia tal que la clase raíz es Object, lo que significa que todos los objetos son instancias de Objecto extienden implícitamente Object.
Véase también
- Atributo (programación orientada a objetos)
- objeto de negocio
- Clase (programación informática)
- Programación basada en clases
- objeto de transferencia de datos
- Declaración (programación informática)
- Objeto distribuido
- Instancia (informática)
- Metaobjeto
- Método (programación informática)
- Modelo de capacidad de objeto
- Composición del objeto
- Copia de objetos
- Grafo de objetos
- Vida útil del objeto
- Lenguaje basado en objetos
- Programación orientada a objetos
- Puntero (programación informática)
- Referencia (informática)
- Semántica (lógica)
- Objeto de valor
Referencias
- 1 2 3 Grady Booch; Robert Maksimchuk; Michael Engle; Bobbi Young; Jim Conallen; Kelli Houston (30 de abril de 2007). Análisis y diseño orientado a objetos con aplicaciones (3.ª ed.). Addison-Wesley Professional. ISBN 978-0201895513.
- ↑ Adolfo M. Nemirovsky. "¿El gato de Schrödinger está orientado a objetos?" (PDF) . www.literateprogramming.com .
- ↑ "Sistemas de programación basados en objetos distribuidos" . dl.acm.org .
- ↑ "Dimensiones del diseño de lenguajes basados en objetos" . dl.acm.org .
- ↑ "Una breve historia del enfoque orientado a objetos" (PDF) . Archivado del original (PDF) el 8 de agosto de 2017.
- ↑ Oppel, Andy (2005). SQL Desmitificado . McGraw Hill. pág. 7. ISBN 0-07-226224-9.
Enlaces externos
- ¿Qué es un objeto? (de los tutoriales de Java)
- Objeto (informática)
- Tipos de datos
- Tipos de datos compuestos