Cloneable eh uma interface, isto eh, contem apenas uma declaracao padrao
para o metodo clone(). Para obter uma copia do objeto, vc tem que criar uma
nova instancia do objeto, com os mesmos atributos do objeto original. Isto
geralmente eh feito implementando-se a interface Cloneable, para manter uma
padronizacao (ie, vc pode juntar objetos completamente diferentes, mas que
implementam a interface Cloneable, num array do tipo Cloneable[]), mas isto
nao eh obrigatorio.
Exemplo:
public class DollyLabel extends Label implements Cloneable {
private int id; // atributo privado sem acesso direto por metodos
'set'
public DollyLabel(String tex) {
super(tex);
}
...
public Object clone() {
DollyLabel dolly = new DollyLabel(this.getText());
dolly.id = this.id; // Isso pode ser feito, pois este objeto eh
da mesma classe que dolly
return (Object)dolly; // Este cast eh feito automaticamente, mas
eh preciso fazer outro
// cast para usar dolly como DollyLabel!
}
public DolllyLabel dollyClone() {
DollyLabel dolly = new DollyLabel(this.getText());
dolly.id = this.id;
return dolly; // Este clone nao necessita de cast, pois ja
retorna do tipo DollyLabel
}
}
----- Original Message -----
From: Javanes <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>;
<[EMAIL PROTECTED]>; DANIEL VIEIRA VIVEIROS
<[EMAIL PROTECTED]>
Sent: Tuesday, July 18, 2000 10:07 AM
Subject: Re: [SouJava-J] Copias de objetos
> Eu tentei usar a classe clonable mas não tive sucesso.
> Alguém tem algum código que exemplifique a utilização do clone ????
> Obrigado.
>
> Fabio Rodrigues - Telematica wrote:
> >
> > DANIEL VIEIRA VIVEIROS wrote:
> >
> > > Oi,
> > >
> > > Como faco para criar objetos identicos sem que eles compartilhem o
mesmo
> > > endereco de memoria ?
> > >
> > > Obrigado,
> > > Daniel
> > >
--------------------------- LISTA SOUJAVA ---------------------------
http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP
[dúvidas mais comuns: http://www.soujava.org.br/faq.htm]
[para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
[regras da lista: http://www.soujava.org.br/regras.htm]
---------------------------------------------------------------------