Está en la página 1de 4

Variable esttica

Variable esttica
En informtica una variable esttica es una variable que ha sido ubicada estticamente y cuyo tiempo de vida se extiende durante toda la ejecucin del programa. Normalmente una variable esttica tiene un mbito ms amplio que otras variables. Los valores de variables estticas se pueden establecer una vez (durante el tiempo de ejecucin) o se pueden cambiar en mltiples ocasiones durante la ejecucin del programa. La terminologa "variable esttica" se basa en C y C++, pero tambin se usa en muchos lenguajes de programacin derivados. En lenguajes de diferente origen el mismo concepto puede denominarse "variable global".

Constantes
Los programas informticos pueden almacenar constantes en variables constant o en variables static, dependiendo de las posibilidades del lenguaje de programacin. Por ejemplo, un programa que usa una aproximacin de pi es ms fcil de escribir, leer y mantener con una variable llamada "PI" en lugar de mltiples ocurrencias de "3.14159".

mbito
En el lenguaje de programacin C se usa static con variables globales y funciones para restringir su mbito al archivo donde se definen. Con variables locales, static se usa para almacenar la variable en la memoria asignada de forma esttica en lugar de la memoria asignada de forma automtica. Siempre y cuando el lenguaje no fije la implementacin del tipo de memoria a usar, la memoria asignada de forma esttica se reserva normalmente en el segmento de datos del programa durante la compilacin, mientras que la memoria asignada de forma automtica es normalmente implementada como pila de llamadas transitorio.

Variables locales
La mayora de los lenguajes de programacin incluyen la posibilidad de usar subrutinas. Las variables de mbito local en las subrutinas (variables locales) se crean y destruyen normalmente dentro de la propia subrutina (denominadas variable automtica. Algunos lenguajes, sin embargo, (ej. lenguaje de programacin C) permiten a las subrutinas retener el valor de las variables entre las llamadas a la funcin, de forma que la funcin puede preservar el valor de las variables si fuera necesario. Por ejemplo, una variable esttica puede registrar el nmero de veces que una subrutina ha sido ejecutada. Para este propsito tambin es possible servirse de variables globales o de almacenamiento externo (ej. un archivo en un disco). Adicionalmente limita el mbito del compilador de la variable en cuestin a esa funcin, incluso cuando el espacio asignado se encuentra en el rea esttica.

Clases
Lenguajes orientados a objetos usan clases y objetos. En este caso, una variable de clase es una variable que no est asociada con instancias de la clase. Slo hay una nica copia de la variable que se comparte entre los mtodos de todas las instancias independientemente de su cantidad. En C++, las variables de clase se conocen como miembros de datos estticos.

Ejemplo en C
En el Lenguaje de programacin C, el funcionamiento de una variable definida como esttica se puede ilustrar con el siguiente cdigo: #include <stdio.h> void func() {

Variable esttica static int x = 0; // x es inicializada solo una vez durante las tres llamadas a func() printf("%d\n", x); // muestra el valor de x x = x + 1; } int main(int argc, char * const argv[]) { func(); // muestra 0 func(); // muestra 1 func(); // muestra 2 return 0; }

Ejemplo en C#
public class Request { private static int count; private string url; public Request() { //Create a new instance of Request //Count all requests Request.count++; } public string Url { get { return this.url; } set { this.url = value; } } public static int Count { get { //Do not use the this keyword here //as this refers to "THIS INSTANCE" return Request.count; }

Variable esttica //Do not allow the developer to SET this value } }

Ejemplo en C++
class Request { private: static int count; string url; public: Request() { count++; } string getUrl() const { return url; } void setUrl(string value) { url = value; } static int getCount() { return count; } }; int Request::count = 0; En este ejemplo, count se aplica a la clase mientra que url se aplica a cada instancia. Ntese que la variable count debe inicializarse al margen de la clase.

Referencias
Este artculo fue creado a partir de la traduccin del artculo static variable de la Wikipedia en ingls, concretamente de variable esta versin (http://en.wikipedia.org/wiki/static), bajo la Licencia Creative Commons Atribucin-CompartirIgual 3.0 Unported y la Licencia de documentacin libre de GNU. 14.1.6 Static Variables from a computing science book at hawaii.edu (http://ee.hawaii.edu/~tep/EE160/Book/ chap14/subsection2.1.1.6.html)

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


Variable esttica Fuente: http://es.wikipedia.org/w/index.php?oldid=60934757 Contribuyentes: Carlosjimy, GermanX, Joseaperez, Kangarsa, Leonpolanco, Poco a poco, Shooke, 7 ediciones annimas

Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/

También podría gustarte