fbpx
Wikipedia

Instancia (informática)

Una instancia (en inglés, instance) es la particularización, realización específica u ocurrencia de una determinada clase, entidad (modelo entidad-relación) o prototipo.

En los lenguajes de programación orientada a objetos un objeto es una instancia de una clase. Esto es, un miembro de una clase que tiene atributos en lugar de variables. En un contexto del mundo real, podríamos pensar en "Casa" como una clase y en un chalet como una instancia de esta e incluso otro chalet u otro tipo de casa como puede ser un apartamento como otra instancia.[1]​ En este caso no importa el tipo de casa, si fuese de nuestro interés modelarlo y especificarlo, diferenciaríamos entre un chalet y un apartamento con dos clases, entidades o prototipos diferentes, c.f. herencia (informática).

Etimología

El término en informática procede del inglés, en donde instance viene del significado que podría traducirse por caso o ejemplo en español. Aunque la palabra existe en el idioma inglés por incorporación desde el latín como instantia (que es de donde lo hace también la palabra en español), pero posteriormente también adquirió (del latín igualmente) parte de la semántica de instāns, que en nuestro caso derivó únicamente en instante.[2]​ Esta incorporación desde el inglés tendría la consideración de préstamo semántico, aunque esta acepción no está contemplada todavía por la Real Academia Española.[3]

Programación basada en clases

En este apartado hablaremos de la programación orientada a objetos basada en clases, que es la que implementa la mayoría de lenguajes de programación orientados a objetos. En el modelo basado en prototipos, que es el de lenguajes como JavaScript, los términos que se refieren a clases han de sustituirse por los prototipos de los objetos, pero por lo demás, son de aplicación similar.

En este modelo, un objeto tiene una referencia a la clase a la que pertenece y, por tanto, puede llamar a los métodos de instancia que hayan sido declarados como de instancia, así como a todos aquellos que hayan sido heredados por la jerarquía de herencia estática entre clases.

Ciertos lenguajes de programación permiten utilizar clases mixin, que permiten además realizar asociaciones entre instancias de objetos para establecer relaciones similares a la herencia en tiempo de ejecución.

Clases como objetos

Multitud de lenguajes de programación basados en clases proporcionan mecanismos de reflexión o introspección, esto es, permiten que el programa pueda observar (e incluso modificar) su propia estructura de alto nivel. Si estos mecanismos siguen el paradigma de orientación a objetos también, entonces las clases serán representadas también como instancias de objetos. En particular, si el lenguaje no permite dos definiciones de una misma clase (puede hacerlo para permitir ejecuciones concurrentes de distintas versiones de una clase)[Nota 1]​ entonces las clases serán representadas utilizando un Singleton. En Java, por ejemplo, si tenemos una clase definida como:

 public class Perro {} 

Podremos acceder a la instancia que representa la clase (y es una instancia de la clasejava.lang.Class<Perro>), en un programa principal de clase Main, del siguiente modo:

 public class Main { public static void main(String... args) { Class<?> perroClass = Perro.class; System.out.println(perroClass); } } 

Programación basada en prototipos

En el estilo de programación orientada a objetos basada en prototipos las instancias son los objetos creados a partir de los prototipos. En general, los prototipos también son objetos creados a partir de otros prototipos, con lo que las propiedades y métodos se heredan en la profundidad completa del árbol de herencia de prototipados.

En el caso particular de JavaScript, aunque no se puede cambiar el prototipo de un objeto una vez instanciado, sí se pueden cambiar las propiedades y métodos que tiene el prototipo, afectando a todas las instancias (en profundidad) de ese prototipo. En el caso particular de este lenguaje, en el que todos los objetos son instancias de Object, modificar o añadir métodos a Object tendrá como consecuencia la modificación de esos métodos u objetos en todos los demás objetos que no los hayan redefinido posteriormente, incluyendo los ya instanciados. Este es el mecanismo que utilizan algunas bibliotecas de JavaScript[Nota 2]​ para proporcionar funciones que no hayan implementado ciertos motores a ciertos objetos del lenguaje.

Notas

  1. Erlang, por ejemplo, permite la ejecución concurrente de varias versiones de un mismo programa, véase change-3 http://www.erlang.org/doc/man/gen server.html#Module:code change-3, y CLOS.
  2. http://augmentjs.com el 1 de junio de 2019 en Wayback Machine., por ejemplo, proporciona métodos al objeto Array.prototype, cambiando todos los Array del programa.

Referencias

  •   Datos: Q1664689

instancia, informática, instancia, inglés, instance, particularización, realización, específica, ocurrencia, determinada, clase, entidad, modelo, entidad, relación, prototipo, lenguajes, programación, orientada, objetos, objeto, instancia, clase, esto, miembro. Una instancia en ingles instance es la particularizacion realizacion especifica u ocurrencia de una determinada clase entidad modelo entidad relacion o prototipo En los lenguajes de programacion orientada a objetos un objeto es una instancia de una clase Esto es un miembro de una clase que tiene atributos en lugar de variables En un contexto del mundo real podriamos pensar en Casa como una clase y en un chalet como una instancia de esta e incluso otro chalet u otro tipo de casa como puede ser un apartamento como otra instancia 1 En este caso no importa el tipo de casa si fuese de nuestro interes modelarlo y especificarlo diferenciariamos entre un chalet y un apartamento con dos clases entidades o prototipos diferentes c f herencia informatica Indice 1 Etimologia 2 Programacion basada en clases 2 1 Clases como objetos 3 Programacion basada en prototipos 4 Notas 5 ReferenciasEtimologia EditarEl termino en informatica procede del ingles en donde instance viene del significado que podria traducirse por caso o ejemplo en espanol Aunque la palabra existe en el idioma ingles por incorporacion desde el latin como instantia que es de donde lo hace tambien la palabra en espanol pero posteriormente tambien adquirio del latin igualmente parte de la semantica de instans que en nuestro caso derivo unicamente en instante 2 Esta incorporacion desde el ingles tendria la consideracion de prestamo semantico aunque esta acepcion no esta contemplada todavia por la Real Academia Espanola 3 Programacion basada en clases EditarEn este apartado hablaremos de la programacion orientada a objetos basada en clases que es la que implementa la mayoria de lenguajes de programacion orientados a objetos En el modelo basado en prototipos que es el de lenguajes como JavaScript los terminos que se refieren a clases han de sustituirse por los prototipos de los objetos pero por lo demas son de aplicacion similar En este modelo un objeto tiene una referencia a la clase a la que pertenece y por tanto puede llamar a los metodos de instancia que hayan sido declarados como de instancia asi como a todos aquellos que hayan sido heredados por la jerarquia de herencia estatica entre clases Ciertos lenguajes de programacion permiten utilizar clases mixin que permiten ademas realizar asociaciones entre instancias de objetos para establecer relaciones similares a la herencia en tiempo de ejecucion Clases como objetos Editar Multitud de lenguajes de programacion basados en clases proporcionan mecanismos de reflexion o introspeccion esto es permiten que el programa pueda observar e incluso modificar su propia estructura de alto nivel Si estos mecanismos siguen el paradigma de orientacion a objetos tambien entonces las clases seran representadas tambien como instancias de objetos En particular si el lenguaje no permite dos definiciones de una misma clase puede hacerlo para permitir ejecuciones concurrentes de distintas versiones de una clase Nota 1 entonces las clases seran representadas utilizando un Singleton En Java por ejemplo si tenemos una clase definida como public class Perro Podremos acceder a la instancia que representa la clase y es una instancia de la clasejava lang Class lt Perro gt en un programa principal de clase Main del siguiente modo public class Main public static void main String args Class lt gt perroClass Perro class System out println perroClass Programacion basada en prototipos EditarEn el estilo de programacion orientada a objetos basada en prototipos las instancias son los objetos creados a partir de los prototipos En general los prototipos tambien son objetos creados a partir de otros prototipos con lo que las propiedades y metodos se heredan en la profundidad completa del arbol de herencia de prototipados En el caso particular de JavaScript aunque no se puede cambiar el prototipo de un objeto una vez instanciado si se pueden cambiar las propiedades y metodos que tiene el prototipo afectando a todas las instancias en profundidad de ese prototipo En el caso particular de este lenguaje en el que todos los objetos son instancias de Object modificar o anadir metodos a Object tendra como consecuencia la modificacion de esos metodos u objetos en todos los demas objetos que no los hayan redefinido posteriormente incluyendo los ya instanciados Este es el mecanismo que utilizan algunas bibliotecas de JavaScript Nota 2 para proporcionar funciones que no hayan implementado ciertos motores a ciertos objetos del lenguaje Notas Editar Erlang por ejemplo permite la ejecucion concurrente de varias versiones de un mismo programa vease change 3 http www erlang org doc man gen server html Module code change 3 y CLOS http augmentjs com Archivado el 1 de junio de 2019 en Wayback Machine por ejemplo proporciona metodos al objeto Array prototype cambiando todos los Array del programa Referencias Editar http whatis techtarget com definition instance en ingles Vease Etymology en http www wordreference com definition instance http lema rae es drae val instancia Datos Q1664689Obtenido de https es wikipedia org w index php title Instancia informatica amp oldid 125842002, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos