|
Gideoni, vou tentar explicar de forma
simples.
Digamos que voc� precisa passar um objeto do tipo
"Endere�o" por um socket, ou ent�o escreve lo em um arquivo.
A forma convencional de se fazer isso seria
escrever os campos da classe Endere�o um a um, seguindo alguma formata��o
inventada por voc�.
Por exemplo, para a classe:
class Endereco {
String rua;
String complemento;
int numero;
}
Voc� poderia escrever no arquivo (ou enviar
pelo socket, ou similar) o nome da rua, pular linha, escrever o complemento,
pular linha, e depois escrever o n�mero.
Outra maneira ainda seria escrever os campos
precedidos dos tamanhos deles. Ou qualquer outra formata��o que vier na sua
cabe�a.
Este n�o � um m�todo trivial e quanto mais complexa
for a sua classe, mais trabalho voc� ter� para escrever e ler as informa��es
dela nessa forma.
A serializa��o facilita todo esse
processo.
Com a serializa��o, voc� pode abstrair esses
detalhes e apenas pedir para a stream "escrever" ou "ler" o objeto
serializ�vel.
Voc� torna uma classe serializ�vel quando
implementa a interface Serializable, que n�o tem nenhum m�todo. Ou seja, basta
acrescentar implement Serializable.
class Endereco implement Serializable
{
String rua;
String complemento;
int numero; }
agora se eu quisesse escrever os dados de um objeto
da classe Endereco, eu s� precisaria usar uma stream especial
(ObjectOutputStream) e usar o m�todo writeObject. Mais ou menos
assim:
ObjectOutputStream out;
Endereco addr;
... (inicializa��o de out e de addr)
out.writeObject(addr);
Mais simples, n�o? Para ler este objeto voc� faria
isto:
ObjectInputStream in;
Endereco addr;
... (inicializa��o de in)
addr = (Endereco)
in.readObject(); Como voc� poder ver, � bem simples.
[]�s
Celso Jr
|
- [java-list] O que � Serialization Gideoni Hudson
- Re: [java-list] O que � Serialization Celso Junior
- Re: [java-list] O que � Serialization Gideoni Hudson
