Diferencia entre revisiones de «Ámbito (programación)»

Contenido eliminado Contenido añadido
m categorización, "referencias" usando monobook-suite
mSin resumen de edición
Línea 1:
{{referencias}}
En programacionprogramación de coputadorascomputadoras '''ambitoámbito''' se le llama al contexto que tiene una [[expresionexpresión]] o [[valor]], lasdentro variablesde tieneun esteprograma,esto alcancese parautiliza lacon ocultacionel fin de informacionocultar información, de esta forma la accesibilidad de una variable puede llegar a variar dentro de un mismo programa.
 
Esto sirve para que se pueda volver a definir una variable con un mismo nombre en otra parte del programa ya que nombres como: "i","x","y" por ejemplo son muy usados y con frecuencia se nesecitanecesita repetirlos dentro de un mismo programa sino, se acabarianacabarían los nombres cortos y habriahabría que utilizar nombre largos para variables que no requieren de una gran semanticasemántica, como el indiceíndice de un arreglo.
 
Si una variable es declarada dentro de un bloque esta se destruiradestruirá al terminar el bloque, esto quiere decir que si se declara dentro de un metodométodo/funcionfunción/procedimiento elal finalizar dicho subprograma esta variable no existe mas, tambientambién se da dentro de bloques como los for por ejemplo, en este caso la variable se llama local y solo tiene alcanzealcance dentro del bloque que se creo y sus hijos, pero no bloques hermanos ni padres, si una variable se define fuera de cualquier bloque (en el caso de POO dentro de una clase) esta variable se llamllama de alcanzealcance global y cualquier bloque puede acederacceder a ella y modificarla.
 
Hay dos tipos de alcances, el estaticoestático que tambientambién es llamdollamado lexicograficolexicográfico, donde el alcanzealcance se determina en tiempo de compilacioncompilación, mientras que las variables de alcance dinamiscodinámico se verificara en el hilo de ejecuconejecución.
 
== Ejemplo en Java ==
 
<source lang="java">
 
public class A {
<code>
public class A {
public Integer numeroEntero = new Integer(); /* Variable Global a todos los Métodos */
public Integer metodo() {
int num = 1; // Variable Local a metodo. Puede accederse dentro de este método en cualquier parte, pero no fuera del mismo.
for (int i = 0;i<numeroEntero.intValue();i++) { // i es local al bucle for, sólo puede ser accedida dentro del mismo.
num *= i;
}
// i = 2; Esta línea provocaría error al no haber declarado la variable i. i fue definida localmente al bucle for.
return Integer.valueOf(num);
}
public void otroMetodo() {
int num = 1; // Variable local a otroMetodo. num aquí es una variable distinta a la variable num de metodo
System.out.println("Variable local num: " + num);
}
}
</codesource>
 
 
Línea 35:
 
*http://www.dirinfo.unsl.edu.ar/~analisis/teorias/trans_cap7_acl_06.pdf
 
[[Categoría:Programación]]