Issuu on Google+

Clone. A clonagem não precisa ser efetuada em TIPOS PRIMITIVOS e String. O Clone possui uma instância diferente, CONTUDO os atributos são IGUAIS ! Obj1

Obj2. =

instancia x

instancia y

O Clone é outro objeto, contudo possui os mesmos valores que o seu clone, ou objeto que o originou. Para que se possa clonar uma classe, a mesma deve implementar a interface Cloneable. 2 tipos de clonagem. Rasa → basta implementar a interface Cloneable. Profunda → implementar a interface Cloneable, e criar uma nova instancia do objeto, passando como parâmetros os mesmos conteúdos do objeto originador. Clonagem não passa do Processo da Criação de uma cópia ! Ex public class EstudandoClone implements Cloneable{ private String x; public EstudandoClone (String x){ this.x = x; } public EstudandoClone( ){ this.x = “”; } public String getX ( ){ return this.x; } public void setX(String x2){ this.x = x2; } public Object Clone( ){ //Esta é a Clonagem PROFUNDA EstudandoClone retorno = null; retorno = new EstudandoClone(this.x); return retorno; } }


public class EstudandoClone implements Cloneable{ //Esta é a clonagem RASA private String x; public EstudandoClone (String x){ this.x = x; } public EstudandoClone( ){ this.x = “”; } public String getX ( ){ return this.x; } public void setX(String x2){ this.x = x2; } }


Estudo Antecipado De Clone