Atributos transient

Los atributos de un objeto se consideran, por defecto, persistentes. Esto significa que a la hora de almacenar objetos en un fichero, los valores de dichos atributos deben también almacenarse.

Aquellos atributos que no forman parte del estado persisten del objeto porque almacenan estados transitorios o puntuales del objeto, se declaran como transient. Los podemos denominar transitorios.

Por ejemplo:

class Transient{
    int var1, var2;
    transient int num_veces_modificado =0;
    void modifica (int var1, int var2){
        var1 = v1;
        var2 = v2;
        num_veces_modificado++;
    }
}

En este caso, la variable num_veces_modificado almacena el número de veces que se modifica en el objeto los valores de los atributos var1 y var2. A la hora de almacenar el objeto en un fichero para su posterior recuperación puede que no interese el número de veces que ha sido modificado. Declarando dicho atributo como transient este valor no se almacenará y será reinicializado al recuperarlo.

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options