Se entiende por visibilidad, ámbito o scope de una variable, la paite de la aplicación donde dicha
variable es accesible y por lo tanto puede ser utilizada en una expresión. En Java todas las variables
deben estar incluidas en una clase. En general las variables declaradas dentro de mías llaves {}. es decir dentro de un bloque, son visibles y existen dentro de estas llaves. Por ejemplo las variables
declaradas al principio de una función existen mientras se ejecute la función: las variables
declaradas dentro de un bloque 7/110 serán válidas al finalizar las sentencias correspondientes a
dicho if y las variables miembro de una clase (es decir declaradas entre las llaves {} de la clase pero
fuera de cualquier método) son válidas mientras existe el objeto de la clase.
Las variables miembro de una clase declaradas como public son accesibles a través de una
referencia a un objeto de dicha clase utilizando el operador punto (.). Las variables miembro
declaradas como prívate no son accesibles directamente desde otras clases. Las funciones miembro
de una clase tienen acceso directo a todas las variables miembro de la clase sin necesidad de
anteponer el nombre de un objeto de la clase. Sin embargo las funciones miembro de una clase B
derivada de otra A. tienen acceso a todas las variables miembro de A declaradas como publico
protected. pero 110 a las declaradas como prívate. Una clase derivada sólo puede acceder
directamente a las variables y funciones miembro de su clase base declaradas como publico
protected. Otra característica del lenguaje es que es posible declarar una variable dentro de un
bloque con el mismo nombre que una variable miembro, pero 110 con el nombre de otra variable
local que ya existiera.
La variable declarada dentro del bloque oculta a la variable miembro en ese
bloque. Para acceder a la variable miembro oculta será preciso utilizar el operador this. en la forma
this.varname.
Uno de los aspectos más importantes en la programación orientada a objetos (OOP) es la
forma en la cual son creados y eliminados los objetos. En Java la forma de crear nuevos objetos es
utilizando el operador new. Cuando se utiliza el operador nen\ la variable de tipo referencia guarda
la posición de memoria donde está almacenado este nuevo objeto.
Para cada objeto se lleva cuenta
de por cuántas variables de tipo referencia es apuntado. La eliminación de los objetos la realiza el
programa denominado garbage collector. quien automáticamente libera o boira la memoria ocupada
por un objeto cuando no existe ninguna referencia apuntando a ese objeto. Lo anterior significa que
aunque una variable de tipo referencia deje de existir, el objeto al cual apunta 110 es eliminado si hay
otras referencias apuntando a ese mismo objeto.
No hay comentarios:
Publicar un comentario