miércoles, 3 de junio de 2009

Variables const y struct

Unidad 2 Métodos y Mensajes

Variables const y struct

Constantes

En Java, se utiliza la palabra clave final para indicar que una variable debe comportarse como si fuese constante, significando con esto que no se permite su modificación una vez que haya sido declarada e inicializada.

La definición o palabra reservada para las constantes en C, C++, C# es la palabra reservada const, en si el uso y declaración es la misma que la que se maneja en Java, la única diferencia seria la palabra reservada

Como es una constante, se le ha de proporcionar un valor en el momento en que se declare, por ejemplo:

    class Elipse {
        final float PI = 3.14159;
        . . .
        }

Si se intenta modificar el valor de una variable final desde el código de la aplicación, se generará un error de compilación.

Si se usa la palabra clave final con una variable o clase estática, se pueden crear constantes de clase, haciendo de esto modo un uso altamente eficiente de la memoria, porque no se necesitarían múltiples copias de las constantes.

La palabra clave final también se puede aplicar a métodos, significando en este caso que los métodos no pueden ser sobrescritos.

Variables Estáticas (Static)

La declaración de un dato miembro de una clase usando static, crea una variable de clase o variable estática de la clase. El significado de variable estática es que todas las instancias de la clase (todos los objetos instanciados de la clase) contienen la mismas variables de clase o estáticas. En otras palabras, en un momento determinado se puede querer crear una clase en la que el valor de una variable de instancia sea el mismo (y de hecho sea la misma variable) para todos los objetos instanciados a partir de esa clase. Es decir, que exista una única copia de la variable de instancia, entonces es cuando debe usarse la palabra clave static.

class Documento {
        static int version = 10;
        }

En Java, a las variables de clase se accede utilizando el nombre de la clase, el nombre de la variable y el operador punto (.). La siguiente línea de código, ya archivista, se utiliza para acceder a la variable out de la clase System. En el proceso, se accede al método println() de la variable de clase que presenta una cadena en el dispositivo estándar de salida.

    System.out.println( "Hola, Mundo" );

Es importante recordar que todos los objetos de la clase comparten las mismas variables de clase, porque si alguno de ellos modifica alguna de esas variables de clase, quedarán modificadas para todos los objetos de la clase. Esto puede utilizarse como una forma de comunicación entre objetos.

No hay comentarios:

Publicar un comentario