Вы находитесь на странице: 1из 3

Instancia (informtica)

1
Instancia (informtica)
En el paradigma de la orientacin a objetos, una instancia (en ingls, instance) se refiere a una realizacin especfica
de una clase o prototipo determinados.
En general, cuando se ejecuta un programa en un computador, se dice que ste se instancia. En lenguajes que crean
objetos a partir de clases, 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, podramos pensar en "Perro" como una clase y en un
perro concreto es una instancia de esta clase.
[1]
Etimologa
El trmino en informtica procede del ingls, en donde instance viene del significado que podra traducirse por caso
o ejemplo en castellano. Aunque la palabra existe en el idioma ingls por incorporacin desde el latn como instantia
(que es de donde lo hace tambin la palabra en castellano), pero posteriormente tambin adquiri (del latn tambin)
parte de la semntica de instns, que en nuestro caso deriv unicamente en instante.
[2]
Esta incorporacin desde el
ingls tendra la consideracin de prstamo semntico, aunque esta acepcin no est contemplada todava por la Real
Academia Espaola.
[3]
Programacin basada en clases
En este apartado hablaremos de la programacin orientada a objetos basada en clases, que es la que implementa la
mayora de lenguajes de programacin orientados a objetos. En el modelo basado en prototipos, que es el de
lenguajes como JavaScript, los trminos que se refieren a clases han de sustituirse por los prototipos de los objetos,
pero por lo dems, son de aplicacin similar.
En este modelo, un objeto tiene una referencia a la clase a la que pertenece y, por tanto, puede llamar a los mtodos
de instancia que hayan sido declarados como de instancia, as como a todos aquellos que hayan sido heredados por la
jerarqua de herencia esttica entre clases.
Ciertos lenguajes de programacin permiten utilizar clases mixin, que permiten adems realizar asociaciones entre
instancias de objetos para establecer relaciones similares a la herencia en tiempo de ejecucin.
Clases como objetos
Multitud de lenguajes de programacin basados en clases proporcionan mecanismos de reflexin o introspeccin,
esto es, permiten que el programa pueda observar (e incluso modificar) su propia estructura de alto nivel. Si estos
mecanismos siguen el paradigma de orientacin a objetos tambin, entonces las clases sern representadas tambin
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)
[4]
entonces las clases sern
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); }
Instancia (informtica)
2
}
Programacin basada en prototipos
En el estilo de programacin orientada a objetos basada en prototipos las instancias son los objetos creados a partir
de los prototipos. En general, los prototipos tambin son objetos creados a partir de otros prototipos, con lo que las
propiedades y mtodos se heredan en la profundidad completa del rbol de herencia de prototipado.
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 mtodos 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 aadir mtodos a Object tendr como consecuencia la modificacin de esos mtodos u objetos entodos
los dems objetos que no los hayan redefinido posteriormente, incluyendo los ya instanciados. Este es el mecanismo
que utilizan algunas bibliotecas de JavaScript
[5]
para proporcionar funciones que no hayan implementado ciertos
motores a ciertos objetos del lenguaje.
Notas
[1] http:/ / whatis.techtarget. com/ definition/ instance (en ingls)
[2] Vase Etymology en http:/ / www.wordreference.com/ definition/ instance
[3] http:/ / lema.rae. es/ drae/ ?val=instancia
[4] Erlang, por ejemplo, permite la ejecucin concurrente de varias versiones de un mismo programa, vase change-3 http:/ / www. erlang. org/
doc/ man/ gen server.html#Module:code change-3 (http:/ / www. erlang. org/ doc/ man/ genserver. html#Module:code), y CLOS.
[5] http:/ / augmentjs. com, por ejemplo, proporciona mtodos al objeto Array.prototype, cambiando todos los Array del programa.
Referencias
Fuentes y contribuyentes del artculo
3
Fuentes y contribuyentes del artculo
Instancia (informtica) Fuente: https://es.wikipedia.org/w/index.php?oldid=74119847 Contribuyentes: Ascnder, Bethan 182, Carlos Castaeda Girn, Carmin, David0811, Diegusjaimes,
Javierito92, Jkbw, Laura Fiorucci, Msanguino, Netito777, Nightwish, Poco a poco, Santhy, SuperBraulio13, Technopat, Varano, 37 ediciones annimas
Licencia
Creative Commons Attribution-Share Alike 3.0
//creativecommons.org/licenses/by-sa/3.0/

Вам также может понравиться