Un objeto en programación es una entidad en el espacio digital que tiene un estado y comportamiento, tiene campos y métodos . Como regla, cuando se consideran objetos, se enfatiza que los objetos pertenecen a una o más clases que definen el comportamiento (son un modelo ) de un objeto. Los términos " instancia de clase " y "objeto" se usan indistintamente [1] . Analogía: un objeto es lo que se hizo según un dibujo, una clase es un dibujo.
Un objeto, junto con el concepto de una clase , es un concepto importante en el enfoque orientado a objetos . Los objetos tienen las propiedades de herencia , encapsulación y polimorfismo [2] .
El término objeto en el software se introdujo por primera vez en el lenguaje Simula y se utilizó para modelar la realidad [1] .
Una instancia de una clase es una descripción de un objeto específico en la memoria. La clase describe los campos y métodos que estarán disponibles para un objeto construido de acuerdo con la descripción establecida en la clase. Las instancias se utilizan para representar (modelo) entidades específicas en el mundo real. Por ejemplo, una instancia de una clase de lavadora puede ser su lavadora, que tiene las siguientes propiedades: empresa fabricante Vyatka, nombre del modelo Vyatka-automatic , número de serie del producto VYAT454647, capacidad 20 litros. A diferencia de un nombre de clase, el nombre de una instancia generalmente comienza con una letra minúscula.
La creación de instancias es la creación de una instancia de una clase. A diferencia de la palabra "creación", no se aplica a un objeto, sino a una clase. Es decir, dicen: (en un entorno virtual) crear una instancia de una clase , o, en otras palabras, instanciar una clase . Las plantillas de creación utilizan instanciación polimórfica .
Un objeto anónimo es un objeto que pertenece a alguna clase, pero no tiene nombre.
Inicialización ( inicialización en inglés ): asignación de valores iniciales a los campos del objeto.
La vida útil de un objeto es el tiempo desde el momento en que se crea (construcción) hasta su destrucción (destrucción).
Con la excepción de los lenguajes orientados a prototipos como Lua y JavaScript , donde el concepto de "clase" no se utiliza en absoluto, en la mayoría de los lenguajes de programación orientados a objetos (como Java , C++ o C# ), los objetos son instancias . de alguna clase predefinida .
Los objetos en dichos lenguajes se crean usando el constructor de clases y se destruyen usando el destructor de clases (por ejemplo, en C ++ ) o automáticamente usando el recolector de basura , por ejemplo, en Java y C # (C # admite destructores, pero se llaman por el recolector de elementos no utilizados), o utilizando el objeto interno y el contador de referencia de mensajes ("dealloc" en Objective-C ). Un objeto se almacena como los datos de todos sus campos y referencias a la tabla de métodos virtuales y RTTI de su clase. La clase define un conjunto de funciones e información de servicio para construir un objeto, incluida la cantidad de memoria requerida para almacenar el objeto.
En Python , todos los valores son objetos, incluso clases. En este lenguaje, puede construir una clase, de la cual las clases serán instancias. Tales clases se llaman metaclases .
Un ejemplo de cómo crear un nuevo objeto y trabajar con él en el lenguaje de programación Java :
// Crear una instancia de la clase ArrayList llamada list ArrayList list = new ArrayList (); // Agregar instancias de la clase Integer a la lista de objetos de la lista . agregar ( nuevo Entero ( 1 )); lista _ agregar ( nuevo entero ( 2 )); lista _ agregar ( nuevo Entero ( 3 ));Se supone que la clase ArrayListya ha sido descrita en el código del programa y su descripción contiene una definición para el método y el constructor de la clase add.
Tipos de datos | |
---|---|
Ininterpretable | |
Numérico | |
Texto | |
Referencia | |
Compuesto | |
resumen |
|
Otro | |
Temas relacionados |