oop - que - ¿Cuál es la diferencia entre una instancia y un objeto?
que es una instancia en java (15)
¿Cuál es la diferencia entre una instancia y un objeto? ¿Hay alguna diferencia o no?
Clase: una clase es una impresión azul. Objeto: es la copia de la clase. Instancia: es una variable que se utiliza para mantener la dirección de memoria del objeto.
Un ejemplo analítico muy básico
Class House -> Plano de la casa. Pero no puedes vivir en la impresión azul. Necesita una Casa física que sea la instancia de la clase para vivir, es decir, la dirección real del objeto es instancia. Las instancias representan objetos.
Digamos que estás construyendo algunas sillas.
El diagrama que muestra cómo construir una silla y armarla corresponde a una clase de software.
Digamos que construyes cinco sillas de acuerdo con el patrón en ese diagrama. Del mismo modo, podría construir cinco objetos de software de acuerdo con el patrón en una clase.
Cada silla tiene un número único grabado en la parte inferior del asiento para identificar cada silla específica. La silla 3 es una instancia de un objeto de silla. Asimismo, la ubicación de memoria 3 puede contener una instancia de un objeto de software.
Entonces, una instancia (silla 3) es una única representación única y específica de un objeto (una silla).
El objeto se refiere a la clase y la instancia se refiere a un objeto. En otras palabras, la instancia es una copia de un objeto con valores particulares en ella.
Excelente pregunta
Lo explicaré de la manera más simple posible: Digamos que tienes 5 manzanas en tu cesta. Cada una de esas manzanas es un objeto de tipo Apple, que tiene algunas características (es decir, grande, redondo, crece en los árboles).
En términos de programación, puede tener una clase llamada Apple, que tiene un tamaño de variables: grande, forma: redonda, hábitat: crece en los árboles. Para tener 5 manzanas en su cesta, necesita crear 5 manzanas. Apple apple1, Apple apple2, Apple apple3 etc...
Alternativamente: los objetos son las definiciones de algo, los casos son las cosas físicas.
¿Esto tiene sentido?
Instancia: instancia significa simplemente crear una referencia (copia).
Objeto: significa cuando la ubicación de la memoria está asociada con el objeto (es una entidad en tiempo de ejecución de la clase) utilizando el nuevo operador.
En palabras simples, Instancia se refiere a la copia del objeto en un momento particular mientras que el objeto se refiere a la dirección de memoria de la clase.
Los objetos y las instancias son en su mayoría iguales; pero teniendo una diferencia muy pequeña. Si "auto" es una clase; 3 autos son 3 objetos diferentes. Todos estos objetos son instancias. Entonces estos 3 autos son objetos de instancias de la clase "auto".
Pero la palabra "instancia" también puede ser "instancias de estructura". Pero el objeto es solo para clases.
Todos los objetos son instancias. Todas las instancias pueden no ser objetos. Las instancias pueden ser "instancias de estructura" u "objetos".
No hay una diferencia significativa que consuma demasiado tiempo. Puede haber un lenguaje elegante en el que algunas personas puedan ocupar muchos espacios para escribir, pero al final del día, en lo que respecta a un codificador, desarrollador, programador o arquitecto, una instancia de una clase y un objeto significa lo mismo y a menudo se puede usar de manera intercambiable. Nunca he conocido a nadie en mi carrera que sea quisquilloso y dedique media hora a tratar de señalar las diferencias, porque en realidad no hay ninguna. El tiempo puede invertirse mejor en otros esfuerzos de desarrollo.
ACTUALIZACIÓN Con respecto a Swift, esto es lo que Apple que inventó Swift prefiere:
Una instancia de una clase se conoce tradicionalmente como un objeto. Sin embargo, las clases y estructuras de Swift están mucho más cerca en funcionalidad que en otros lenguajes, y gran parte de este capítulo describe la funcionalidad que se puede aplicar a las instancias de una clase o de un tipo de estructura. Debido a esto, se usa el término más general instancia.
Object - Una instancia de una clase que tiene su propio estado y acceso a todo el comportamiento definido por su clase.
Instancia: referencia a un área de memoria para esa clase en particular.
Si vemos el objeto Definición de Objeto e Instancia -
La memoria asignada para el miembro de la clase en tiempo de ejecución se denomina objeto u objeto es la instancia de Clase.
Veamos la Definición de instancia -
La memoria asignada para Any en tiempo de ejecución se denomina variable de instancia.
Ahora comprenda el significado de cualquier asignación de memoria en tiempo de ejecución que ocurra en C también a través de Malloc, Calloc, Realloc tales como:
struct p
{
}
p *t1
t1=(p) malloc(sizeof(p))
Así que aquí también estamos asignando la asignación de memoria de tiempo de ejecución, pero aquí llamamos como instancia así que t1 es instancia aquí no podemos decir t1 como objeto, por lo que cada objeto es la instancia de Clase, pero cada Instancia no es un Objeto.
Un objeto es una construcción, algo estático que tiene ciertas características y características, como propiedades y métodos, puede ser cualquier cosa (una cadena, un control de usuario, etc.)
Una instancia es una copia única de ese objeto que puede usar y hacer cosas.
Imagine un producto como una computadora.
LA estación de trabajo xw6400 es un objeto
SU estación de trabajo xw6400 (o la estación de trabajo xw6400 de YOUR WIFE) es una instancia del objeto estación de trabajo xw6400
Un objeto puede ser una clase, digamos que tienes una clase llamada baloncesto.
pero quieres tener varios balones de baloncesto para que en tu código crees más de 1 básquetbol
diga basketball1 y basketball2. Luego ejecuta su aplicación. Ahora tiene 2 instancias del objeto baloncesto.
Una instancia es un objeto en la memoria. Básicamente, usted crea objetos y los crea una instancia cuando los está usando.
Aquí hay un buen escrito en Clases Vs Objetos contra Instancias, está hablando de Java pero se aplica a todos los OO.
http://alfredjava.wordpress.com/2008/07/08/class-vs-object-vs-instance/
Una instancia es una representación específica de un objeto. Un objeto es algo genérico mientras que una instancia es un único objeto que se ha creado en la memoria. Por lo general, una instancia tendrá valores asignados a sus propiedades que la diferencian de otras instancias del tipo de objeto.
cada objeto dice que es una instancia de su clase pero cada instancia de la clase tiene su propio valor para cada atributo. Intances comparte el nombre y la operación del atributo con sus intancias de clase, pero un objeto contiene una referencia implícita a su clase
Objeto :
Es un término genérico, básicamente, es un paquete de software que tiene estado (variables) y comportamiento (métodos)
Clase :
Una impresión azul (plantilla) para una instancia de objeto: es un objeto único, por ejemplo, si creas un objeto dos veces, ¿qué significa eso? Has creado dos instancias.
Déjame dar un ejemplo
Class student()
{
private string firstName;
public student(string fname)
{
firstName=fname;
}
Public string GetFirstName()
{
return firstName;
}
}
Ejemplo de objeto :
Estudiante s1 = nuevo estudiante ("Martin"); Estudiante s2 = nuevo estudiante ("Kumar");
Los s1, s2 tienen objeto de clase Estudiante
Instancia :
s1 y s2 son instancias del estudiante objeto; las dos son únicas .
también se puede llamar como referencia .
básicamente, s1 y s2 son variables a las que se les asigna un objeto